wo steckt plötzlich die lounge?
Wowbagger
- zu diesem forum
Hi,
kaum ist man ein paar tage (ok, fast wochen) nicht mehr im lounge forum oder auch hier (sei es bloß, um mitzulesen), ist's nun plötzlich nicht mehr da :-(
Kann mir jemand hier vielleicht mal kurz die neue url posten?
Sorry für's off-topic und gruß,
--Micha
Hi Micha,
Kann mir jemand hier vielleicht mal kurz die neue url posten?
http://aktuell.de.selfhtml.org/live/lounge/forum/
Aber neu ist diese Adresse aber nicht mehr ;)
LG Orlando
Moin Orlando,
http://aktuell.de.selfhtml.org/live/lounge/forum/ ist Dein Link - der geht, aber auf Selfaktuell wird http://aktuell.de.selfhtml.org/live/lounge/forum/index.shtml verlinkt und der geht nimmer...
Also irgendwas stimmt da nicht.
--
Greetz,
Andreas
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
Michael schrieb
[ne ganze Menge, die her gesnippt wurde]
Ach sooo ist das. Ja dann ist ja alles klar - aber erst, wenn ich Dein Posting noch mindestens fünf mal gelesen habe. Vielleicht.
--
Greetz,
Andreas - wenigstens eine ungefähre Ahnung habend.
Hallo Michael,
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.
Viel schlimmer: mod_include ignoriert saemtliche durch das Script ausgegebenen Header und
schickt nur ein paar Standard-Header.
Und dabei hat er nicht daran gedacht, diesen Link anzupassen
[x] Done
- oder seine Übersetzung hinreichend flexibel zu gestalten.
[x] Done
Dafür werden _zwei_ Cache-Control-Header gesendet - einer erlaubt das Caching, der andere
verbietet es ... hm, daran muß wohl noch gearbeitet werden. ;-)
Moooment. Das kommt nicht von mir und nicht vom Squid. Wenn du mal auf HTTP trace 2.0 schaust:
http://forum.de.selfhtml.org/cgi-bin/http_trace.pl?url=http%3A%2F%2Fselfaktuell.teamone.de%2Flive%2Flounge%2Fforum%2F&method=GET&version=HTTP%2F1.1
http://forum.de.selfhtml.org/cgi-bin/http_trace.pl?url=http%3A%2F%2Fselfaktuell.teamone.de%2Flive%2Flounge%2Fforum%2F&method=GET&version=HTTP%2F1.0
Da ist kein doppelter Cache-Control Header.
Beim 'großen' Forum klappt letzteres übrigens schon tadellos ... ich vermute, im "kleinen"
fehlt nur ein Patch des Perl-Skripts
Das ist schon gepatcht :)
Gruesse,
CK