Hauptdatei statisch?
Andreas Korthaus
- zu diesem forum
Hallo!
Habt Ihr die Hauptdatei jetzt statisch für gewisse Zeiträume gecached?
Grüße
Andreas
Hallo,
Habt Ihr die Hauptdatei jetzt statisch für gewisse Zeiträume gecached?
Ja. Fuer 60 Sekunden. Schau dir doch einfach mal die Header an?
HTTP/1.0 200 OK
Date: Sun, 20 Oct 2002 15:19:58 GMT
Cache-Control: public, max-age=60
Expires: Sun, 20 Oct 2002 15:20:59 GMT
Vary: Accept-Encoding
Last-Modified: Sun, 20 Oct 2002 15:19:15 GMT
Content-Type: text/html; charset=ISO-8859-1
Content-Encoding: gzip
Content-Length: 19773
Age: 8
Connection: close
Gruesse,
CK
Hallo Christian,
Ja. Fuer 60 Sekunden. Schau dir doch einfach mal die Header an?
wie kann ich unter Windows ME (*hüstel*) möglichst einfach an diesen
Header kommen? Es war da mal so eine Möglichkeit mit Lynx, aber die
war so kompliziert, die habe ich mir ungefähr 3 Sekunden gemerkt ;-)
Viele Grüße,
Stefan
Hallo Stefan,
Ja. Fuer 60 Sekunden. Schau dir doch einfach mal die Header an?
wie kann ich unter Windows ME (*hüstel*) möglichst einfach an diesen
Header kommen?
Ich habe mir irgendwann mal ein kleines Perl-Script dafuer geschrieben:
#!/usr/bin/perl -w
use strict;
my $host = shift || 'localhost';
my $port = shift || 80;
my $url = shift || '/';
use IO::Socket;
my $sock = new IO::Socket::INET(
PeerAddr => $host,
PeerPort => $port
) or die $!;
print $sock <<HTTP;
GET $url HTTP/1.1
Connection: close
Host: $host
Accept-Encoding: gzip
HTTP
print while <$sock>;
Ansonsten gibts ja auch noch
http://forum.de.selfhtml.org/cgi-bin/http_trace.pl
und
http://www.schroepl.net/cgi-bin/http_trace.pl
Wobei Michaels V. 1.06 kein HTTP/1.1 kann (was auch der Grund fuer den V. 2-Clone von mir
war).
Gruesse,
CK
Hallo Christian,
sehr schön, habe ich mir gleich mal gebookmarkt :-)
Danke an dieser Stelle an Dich und Andreas.
Viele Grüße,
Stefan
Hallo!
Ja. Fuer 60 Sekunden. Schau dir doch einfach mal die Header an?
wie kann ich unter Windows ME (*hüstel*) möglichst einfach an diesen
Header kommen? Es war da mal so eine Möglichkeit mit Lynx, aber die
war so kompliziert, die habe ich mir ungefähr 3 Sekunden gemerkt ;-)
Da gabs zum einen ne Möglichkeit mit Telnet, also auf port 80 an besagtem Host anmelden, und dann
HEAD / HTTP/1.0
So müßte es gehen, hab es aber selbst noch nie geschafft, senden bei mir alle immer einen "bad request"
Außerdem kann ch bei putty nur eine Zeile eingeben, nicht mehrere, naja, vielleicht erfahre ich ja in diesem Threrad mal was ich falsch mache ;-)
Und wenn alle Stricke reißen gibt es da ja immer noch http://www.schroepl.net/cgi-bin/http_trace.pl?url=http%3A%2F%2Fforum.de.selfhtml.org%2F&method=HEAD&version=HTTP%2F1.0
Grüße
Andreas
Hi!
Da gabs zum einen ne Möglichkeit mit Telnet, also auf port 80 an besagtem Host anmelden, und dann
HEAD / HTTP/1.0
So müßte es gehen, hab es aber selbst noch nie geschafft, senden bei mir alle immer einen "bad request"
Außerdem kann ch bei putty nur eine Zeile eingeben, nicht mehrere, naja, vielleicht erfahre ich ja in diesem Thread mal was ich falsch mache ;-)
Habs selbst gemerkt, folgende Seite hat mir dabei geholfen
http://www.elektronikschule.de/~grupp/protokolltests/
Grüße
Andreas
Hi!
Habt Ihr die Hauptdatei jetzt statisch für gewisse Zeiträume gecached?
Ja. Fuer 60 Sekunden. Schau dir doch einfach mal die Header an?
Wie funktioniert das genau? Ihr erstellt alle 60 Sekunden aus den aktuellen XML-Daten eine Hauptdatei als statische .html mit den entsprechenden headern, so dass die immer nur diese Datei ausgeliefert wird, und wenn möglich Proxies und Browser die Datei im Cache verwenden. So in etwa?
Benutzt Ihr hier auch noch Euren neuen Proxy?
Was versprecht Ihr Euch für eine Ersparnis? Denn eine Minute ist schon wenig, vor allem für den Browser-Cache, zumindest ich aktualisiere die Hauptdatei selten öfter als 1 mal pro Minute!
Macht Ihr das nur mit der Hauptdatei?
Viele Grüße
Andreas
Hallo,
Wie funktioniert das genau? Ihr erstellt alle 60 Sekunden aus den aktuellen XML-Daten eine
Hauptdatei als statische .html mit den entsprechenden headern, so dass die immer nur diese
Datei ausgeliefert wird, und wenn möglich Proxies und Browser die Datei im Cache verwenden.
So in etwa?
Noe :)
Benutzt Ihr hier auch noch Euren neuen Proxy?
Ja. Und mit dem cachen wir die Hauptdatei. Anfragen werden halt nur an den Apache
weitergeleitet, wenn der Cache verfallen ist.
Was versprecht Ihr Euch für eine Ersparnis?
Wir haben dadurch eine Last-Senkung von ca. 50%. Nur noch etwa die Haelfte der Anfragen kommen
durch.
Denn eine Minute ist schon wenig, vor allem für den Browser-Cache, zumindest ich
aktualisiere die Hauptdatei selten öfter als 1 mal pro Minute!
Aber du bist nicht der einzige. Stell dir mal vor, jemand postet, laedt die Hauptdatei neu und
sieht dann sein Posting nicht. Ich an seiner Stelle wuerde neu posten...
Macht Ihr das nur mit der Hauptdatei?
Nein.
Gruesse,
CK
Hi!
Denn eine Minute ist schon wenig, vor allem für den Browser-Cache, zumindest ich
aktualisiere die Hauptdatei selten öfter als 1 mal pro Minute!
Aber du bist nicht der einzige. Stell dir mal vor, jemand postet, laedt die Hauptdatei neu und
sieht dann sein Posting nicht. Ich an seiner Stelle wuerde neu posten...
Dann muß halt ein Eintrag in die FAQ oder besser noch ein Vermerk beim Abschicken "kann bis zu 60 Sekunden dauern...", oder noch besser beides. Wie würdst Du denn die Traffic-Ersparnis einschätzen?
Macht Ihr das nur mit der Hauptdatei?
Nein.
Womit denn noch?
Grüße
Andreas
Hallo,
Dann muß halt ein Eintrag in die FAQ oder besser noch ein Vermerk beim Abschicken "kann bis
zu 60 Sekunden dauern...", oder noch besser beides.
Wuerde beides kaum bis gar nicht beachtet. Das solltest du doch eigentlich wissen...
Wie würdst Du denn die Traffic-Ersparnis einschätzen?
Rechne selbst: http://webalizer.teamone.de/selfforum/ Die Caching-Header schicken wir
seit ca. 3 Monaten, die Hauptdatei und die Postings cachen wir seit Anfang des Monats.
Womit denn noch?
*Alle* Anfragen werden vom Squid bedient. Vom Squid gecached werden die, die es auch duerfen.
Gruesse,
CK
Hi!
Danke Euch für die Erklärungen! Eine Frage hätte ich da nochmal: Wieso wird der "Schwanzabschneider" bei jedem Posting ausgeführt? Ist doch höchst ineffizient, wenn eh nur bei jedem z.B. 50. Posting was abgeschnitten wird, aber das Script alle paar Sekunden und meist um sonst auszuführen? Würde man das nicht besser stündlich per cron machen? Oder ist das nicht so teuer?
Grüße
Andreas
Hallo Adreas,
Eine Frage hätte ich da nochmal:
Warum liest du echt nicht die Dokus die dazu online sind!?!?
»»Wieso wird der "Schwanzabschneider" bei jedem Posting ausgeführt?
Es gibt in dem Sinne keinen Schwanzabschneider mehr, denn es wurde durch den Archivierungsfunktion ersetzt. Diese funktioniert nach festlegabren Kritierien wie Größe der Hauptdatei in KB, Anzahl der Trads, Alter der Posting in Threads etc.
Aber das ist wirklich alles ausfühlichst bechrieben worden!
Grüße
Thomas
Hi!
Warum liest du echt nicht die Dokus die dazu online sind!?!?
Sorry, aber woher soll ich wissen das Ihr sowas dokumentiert?
»»Wieso wird der "Schwanzabschneider" bei jedem Posting ausgeführt?
Es gibt in dem Sinne keinen Schwanzabschneider mehr, denn es wurde durch den Archivierungsfunktion ersetzt. Diese funktioniert nach festlegabren Kritierien wie Größe der Hauptdatei in KB, Anzahl der Trads, Alter der Posting in Threads etc.
Sorry für die Fragen.
Grüße
Andreas
Hallo,
Warum liest du echt nicht die Dokus die dazu online sind!?!?
Sorry, aber woher soll ich wissen das Ihr sowas dokumentiert?
Die 'Dokumentation' steht in der FAQ :) Das Datenformat bekommst du aus der DTD. Das wiederum
ist im Download-Archiv auf SourceForge.
Gruesse,
CK
Hallo Thomas,
Warum liest du echt nicht die Dokus die dazu online sind!?!?
es dürfte bekannt sein, dass ich mich doch verhältnismäßig gut auf
selfaktuell.teamone.de auskenne und doch weiß ich nicht, wo ich
diese Dokus finden kann, die mir die Funktionsweise des Forums
beschreiben
Übrigens möchte ich auch mal anmerken, dass mir in zunehmenden Maße
bei Deinen Postings Schreibfehler auffallen. Ich weiß, es gibt hier
auch Leute mit Schwächen in diesem Bereich, doch hatte ich früher
bei Dir eigentlich nie diesen Eindruck und deshalb bin ich doch
etwas verwundert darüber. Zuwenig Zeit zum Antworten oder zuwenig
Interesse auf korrekte Rechtschreibung und Grammatik zu achten?
Viele Grüße,
Stefan
Hallo Stefan,
es dürfte bekannt sein, dass ich mich doch verhältnismäßig gut auf
selfaktuell.teamone.de auskenne und doch weiß ich nicht, wo ich
diese Dokus finden kann, die mir die Funktionsweise des Forums
beschreiben
*Diese* Frage wird in der FAQ beantwortet: http://forum.de.selfhtml.org/faq/#Q-02
|Das Forum wirkt auf den ersten Blick schlichter als es in Wirklichkeit programmiert ist.
|Hinter der Oberfläche stecken eine XML-basierte Datenhaltung, XML-basierte Konfigurationsdaten
|und XML-basierte Templates, eine auf intelligenten Algorithmen basierende, konfigurierbare
|Archivierung und ein streng modulares Software-Konzept, das fast beliebige Erweiterungen
|zulässt. Das Forum wurde in dieser Form im ersten Halbjahr 2001 unter Open-Source-Lizenz neu
|programmiert. Im Laufe der Zeit wird es weiterentwickelt. Sinnvolle Verbesserungs- und
|Erweiterungsvorschläge, die aus längeren Erfahrungen mit dem Forumsbetrieb entstanden sind und
|auf allgemein positives Echo stoßen, werden dabei berücksichtigt.
Sowie http://forum.de.selfhtml.org/faq/#Q-31.
Gruesse,
CK
Hallo Christian,
Da wir gerade dabei sind: Ich will ja nicht undankbar erscheinen oder wie ein kleines Kind wirken, aber was macht denn das neue Forum?
Grüße,
Christian
Hallo,
Da wir gerade dabei sind: Ich will ja nicht undankbar erscheinen oder wie ein kleines Kind
wirken, aber was macht denn das neue Forum?
Die Entwicklung kannst du hier beobachten:
Gruesse,
CK
Hallo Christian,
Die Entwicklung kannst du hier beobachten:
O - "kewl"[tm] - gleich mal gebookmarked. Würde Dir eventuell gerne helfen, aber ich habe mir mit meinen PHP-Sachen schon einiges eingebrockt. Aber vielleicht habe ich ja wieder Zeit, wenn man auch posten kann, dann kann ich beim Bug-Tracking helfen.
Grüße,
Christian
Hi Andreas,
Wie funktioniert das genau?
Ihr erstellt alle 60 Sekunden aus den aktuellen
XML-Daten eine Hauptdatei als statische .html mit
den entsprechenden headern, so dass die immer nur
diese Datei ausgeliefert wird, und wenn möglich
Proxies und Browser die Datei im Cache verwenden.
So in etwa?
Nein. Auf dem Server selbst (Apache plus Forum) hat sich kaum etwas geändert.
Das Forum sendet zusätzlich einen HTTP-Header, der es beliebigen Clients erlaubt, diese Seite bis zu 60 Sekunden lang in einem Cache aufzubewahren.
Das war die ganze Änderung an der Forum-Software.
Nun können zwei Dinge passieren:
a) Dein Browser interpretiert diesen Header und cached. Das tut er, wenn er richtig konfiguriert ist.
b) Der Squid-Proxy interpretiert diesen Header und cached. Wenn Dein (oder ein beliebiger anderer) Browser ihn nach der Hauptdatei fragt (und nicht die Anforderung der Original-Datei erzwingt, indem _er_ entsprechende HTTP-Header sendet), dann prüft er, ob er den Inhalt seines Cache noch verwenden darf oder ob der schon "stale" ist. Je nach dem Ergebnis dieses Tests leitet er den Request an den Apache weiter oder nicht.
Viele Grüße
Michael
Hallo nochmal,
Habt Ihr die Hauptdatei jetzt statisch für gewisse Zeiträume gecached?
Ja. Fuer 60 Sekunden. Schau dir doch einfach mal die Header an?
Cache-Control: public, max-age=60
kann es sein, dass zumindest Mozilla 1.1 damit massive Probleme hat?
Ich habe es jetzt einige Tage beobachtet, er liefert mir eigentlich
immer die alte Version aus, auch wenn sie schon von vor zehn Minuten
ist. Lediglich über [STRG]+[F5] komme ich an die aktuelle Hauptseite,
allein [F5] bringt mir die alte Version.
Liegt es an Mozilla oder ist hier (auf dem Server) etwas faul?
Viele Grüße,
Stefan
Hallo Stefan,
kann es sein, dass zumindest Mozilla 1.1 damit massive Probleme hat?
Nein, nicht im geringsten.
Ich habe es jetzt einige Tage beobachtet, er liefert mir eigentlich
immer die alte Version aus, auch wenn sie schon von vor zehn Minuten
ist. Lediglich über [STRG]+[F5] komme ich an die aktuelle Hauptseite,
allein [F5] bringt mir die alte Version.
Liegt es an Mozilla oder ist hier (auf dem Server) etwas faul?
Weder noch. Mozilla schickt netterweise einen Header mit, der 'If-Modified-Since' heisst. Der
Wert fuer diesen Header ist ein Datum. Er bedeutet, der neue Content soll nur dann geschickt
werden, wenn er sich seit dem Datum, das dort angegeben ist, veraendert hat. Ich habe einen
Patch fuer das Forum gemacht, damit das behandelt wird. Will heissen, die vielen Mozillas hier
kriegen nur dann den Content, wenn sich die Index-Datei (die muss sich ja bei jedem neuen
Posting und bei jedem Archivierungs-Vorgang aendern) auch wirklich geaendert hat. Ansonsten
wird ein '304 Not Modified' geschickt.
Gruesse,
CK