Hi Andreas,
die Lounge ist technisch gesehen dasselbe Forum wie das "große" hier (seit ein paar Monaten jedenfalls).
Eingebunden wurde die Hauptdatei früher mal dadurch, daß eine index.shtml mit genau einer "include virtual"-Zeile das Skript zur Anzeige der Hauptdatei aufrief.
_Diese_ Seite ist noch verlinkt - was keine gute Idee ist, denn semantisch ist eigentlich "der Directory-Default" gemeint. Und _der_ funktioniert weiterhin.
Wir wissen ja alle, daß auf Port 80 des Self-Portals inzwischen kein Apache mehr, sondern nun ein Squid läuft.
Und in dem kann man nicht nur statische Inhalte cachen, sondern auch dynamische - wenn man weiß, was man tut, und das mit _ganz_ spitzen Fingern betreibt.
Insbesondere also auch eine Forums-Hauptdatei - niemand braucht die sekundengenau, es reicht durchaus, wenn die nur ab und zu neu berechnet wird (sagen wir mal alle 60 Sekunden) und die Zugriffe zwischendurch aus dem Squid-Cache bedient werden.
Auf dem chronisch überlasteten Self-Server ist jeder eingesparte Aufruf der XML-parsenden Forums-Software, die CPU-Zeit säuft wie ein Loch, eine gute Idee.
Damit der Squid aber bereit ist, diese Seite zu cachen, muß sie einige Mindestanforderungen erfüllen. Insbesondere möchte der Squid begreifen, wie lange er _nicht_ nach einer neuen Version fragen soll, und _wie_ er das tun soll.
Für ersteres würde er gerne eine Aufbewahrungsfrist haben (Expires, Cache-Control, ...), für letzteres einen Erzeugungszeitpunkt (Last-Modified) der Seite.
Genau das zweite funktioniert aber nicht mit dem oben beschriebenen Verfahren. Apaches mod_includes weiß ja, daß die von ihm erzeugte Seite dynamisch ist, und sendet kein Last-Modified mit.
Deshalb erkennt der Squid die Hauptdatei nicht als statisch an - und cached sie nicht. :-(
Alternative: Kein SSI verwenden.
Wie kriegt man dann aber trotzdem das CGI-Skript des Forums aktiviert, wenn der Directory-Default angesprochen wird?
Per Übersetzung - URL-Rewriting oder Ähnliches. (Directory-Default auf den URL des Skripts tut auch).
Etwas in dieser Art hat Christian offenbar getan, um das Cachen des Lounge-Forums zu fördern.
(Und vermutlich ist es mit dem Forum hier genauso.)
Und dabei hat er nicht daran gedacht, diesen Link anzupassen - oder seine Übersetzung hinreichend flexibel zu gestalten.
Wenn er DirectoryDefault umgebogen hat, dann fällt mir keine Lösung ein; war es ein URL-Rewriting, dann fehlt eine weitere Übersetzungsregel, an deren Notwendigkeit Christian versehentlich nicht gedacht hat.
Machen wir uns an die Überprüfung der Theorie:
http://www.schroepl.net/cgi-bin/http_trace.pl?url=http%3A%2F%2Fselfaktuell.teamone.de%2Flive%2Flounge%2Fforum%2F&method=GET&version=HTTP%2F1.0
... sehnsewohl, da isser, der "Last-Modified"-Header, obwohl das doch offensichtlich keine Datei ist, die da ausgeliefert wurde. Und ein "Expires:"-Header 60 Sekunden in der Zukunft. Na also.
Und den Server-Header hat er im Squid inzwischen auch rausgefiltert ... sehr schön. Den braucht auch keiner. Was interessiert es die Leute, daß hier ein Apache läuft? Weiß doch eh jeder, der http://aktuell.de.selfhtml.org/artikel/server/self/software.htm gelesen hat.
Kurze Überschlagsrechnung: ein HTTP-Header mit ca. 50 bytes (vollständige Auflistung aller installierten Module), mal 19 Millionen Seitenzugriffe pro Monat, ergibt ein Gigabyte (!) Traffic/Monat weniger.
So viel Traffic möchte ich mit meiner Domain mal _insgesamt_ haben ...
Dafür werden _zwei_ Cache-Control-Header gesendet - einer erlaubt das Caching, der andere verbietet es ... hm, daran muß wohl noch gearbeitet werden. ;-)
Beim 'großen' Forum klappt letzteres übrigens schon tadellos ... ich vermute, im "kleinen" fehlt nur ein Patch des Perl-Skripts - das wird ja eher eine Kopie sein als ein symbolic link, wegen der Unabhängigkeit der beiden Installationen bezüglich Releasewechsel.
Das kann natürlich auch Nachteile haben, wie man hier sieht.
Viele Grüße
Michael