Christian Kruse: Forumssoftware von Sourceforge laden

Beitrag lesen

Hallo Michael,

aber dieses Problem würde sich ggf. auch ohne
Reimplementierunug des Forums lösen lassen
(mod_perl, mod_fastcgi?)

Ja, wahrscheinlich schon. Es waere aber auch relativ viel
Arbeit.

Dieser daemon serialisiert dabei alle
   Anforderungen,
Nein. Eine Serialisierung waere ja fuerchterlich
lahmarschig.

Wenn die Clients über ein socket mit dem daemon reden,
dann serialisiert das ja automatisch.

Warum?
Natuerlich sind mehrere, gleichzeitige Connects moeglich.

Und wenn die gegenseitige Ausschlußphase dadurch,
daß nun alles im RAM liegt und viel schneller
adressierbar ist, nun sehr kurz wäre, würde es auch
schon erheblich schneller - ohne daß Du dafür ein
eigenes Locking-System erfinden müßtest.

Das muss ich sowieso nicht :) Es gibt schliesslich Mutexes
und Conditionals.

Obwohl schreibende Zugriffe auch die Hauptdatei
ändern?

Ja.
Wie gesagt, meine Prioritaet liegt ganz eindeutig auf lesenden
Zugriffen. Die Schreiberlinge haben halt gegenueber den
Lesenden eine geringere Prioritaet.

Daß Deine Lösung die bessere (und intellektuell
anspruchsvollere) ist, davon mußt Du mich nicht
überzeugen. ;-)

Das wollte ich auch gar nicht, sorry.

Fuer lesende Zugriffe auf die Haupt-Datei existiert
ausserdem noch ein Cache: die komplette
Serialisierung der Forums-Hauptdatei, die ja noetig
ist, um die Liste durch den Socket zu schicken, ist
schon im Hauptspeicher fertig zusammengestellt.

Ah - das ist der Trick: Quasi ein Transaktions-
mechanismus beim Posten und eine "alte" Sicht auf
die Hauptdatei mit hochperformantem Zugriff.

Sozusagen, ja. Letztenendes ist es nur ein grosser, langer
String (puh, bin ich froh ueber meine
t_string-Implementierung :)

Mit Serialisierung wären sie ganz überflüssig gewesen.

Aber die Serialisierung waere zu einem (unnoetigen)
Flaschenhals geworden. Und da Locking nur innerhalb der
Prozessgrenzen notwendig ist...

Aber Dein Mechanismus ist bestimmt der bessere.

Hoffentlich.

Das wäre jetzt die Stelle, um mal das Verhältnis
zwischen lesenden und postenden Zugriffen zu nennen ...

Wir haben etwa 200 mal mehr lesende als schreibende
Zugriffe :)

Aber auch das Posten duerfte wirklich schneller
werden, ja.

Und vor allem die lästige Meldung, daß man gerade
nicht posten darf, müßte völlig verschwinden.

Ich hoffe es, ja.

Schreibt das neue Forum ab und zu (stündlich?) einen
checkpoint, um im Falle eines Crashs mit minimalem
Datenverlust wieder auf die Füße zu fallen?

Darueber bin ich mir noch nicht sicher. Ich tendiere halt
zwischen zwei Varianten: entweder feste Intervalle, in denen
alle geaenderten Threads neu geschrieben werden, oder halt
bei jeder Aenderung eines Threads wird er neu geschrieben.
Ich weiss halt noch nicht, was schneller ist -- muss ich
erst ausprobieren und Benchmarken.

Ich denke, es ginge dabei eher um diverse UNIX-
Plattformen, aber für Benutzer ohne shell-Zugang.

Das wird kein Problem darstellen. Ich muss halt lediglich
die Makefile ein wenig umschreiben.

Viel Erfolg beim Programmieren

Danke!

Gruesse,
 CK