Browser Caching

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Antworten
Cold
Mitglied
Beiträge: 1137
Registriert: 07.01.2005 20:57
Wohnort: Aachen
Kontaktdaten:

Browser Caching

Beitrag von Cold »

Hallo,

Google PageSpeed empfiehlt Browser Caching. Daher habe ich folgendes Snippet in meine htaccess integriert:

Code: Alles auswählen

ExpiresActive On
ExpiresDefault "max-age=604800"
ExpiresByType image/gif "max-age=7257600"
ExpiresByType image/jpg "max-age=1209600"
ExpiresByType image/jpeg "max-age=1209600"
ExpiresByType image/png "max-age=2419200"
ExpiresByType application/x-shockwave-flash "max-age=604800"
ExpiresByType text/css "max-age=604800"
ExpiresByType text/html "max-age=604800"
ExpiresByType text/javascript "max-age=604800"
ExpiresByType application/x-javascript "max-age=604800"
Grundsätzlich erstmal die Frage: Was haltet ihr allgemein von Browser Caching in Kombination mit phpBB 3.1?
Dann noch die Frage: Welche Dateitypen würdet ihr cachen und mit welcher Ablaufzeit?

Gruß

Martin
Viele Grüße,
Martin
Luftraumexperten | Schueler Talk | Spar-Taner
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Browser Caching

Beitrag von gn#36 »

Caching grundsätzlich ist sicher sinnvoll, das bringt einen enormen Geschwindigkeitsgewinn bei Folgeabrufen der selben Seite, aber du musst aufpassen, wie alt Dinge werden dürfen.

Wenn du z.B. eine häufig geänderte Seite zu lange cacht, dann kriegen die Nutzer die Änderungen vielleicht eine Zeit lang nicht mit. Zum Beispiel ist deine Standardeinstellung oben 168 Stunden - das ist für einige Dinge ok, Bilder kannst du ggf. auch noch länger cachen, je nach dem um was es geht, aber für ein Thema im Forum wäre das z.B. viel zu lang.

Ich habe vor ca. einem halben Jahr bei meiner Webseite caching eingeführt und der Geschwindigkeitsgewinn ist enorm. Die Startseite braucht ggf. noch ein paar hundert ms (gerade im Moment z.B. 800) zum Laden, die Folgeseiten gehen dann blitzschnell (~400 ms mit zusätzlichen Bildern, ~200 ms ohne). Folgeaufrufe der selben Seite kurze Zeit später brauchen dann nur die Renderzeit im Browser. Unerwünschte Nebeneffekte waren aber, dass es teilweise eben dann ein paar Tage dauert, bis man mitkriegt, dass sich z.B. ein Teamfoto geändert hat. Hierfür habe ich dann zusätzlich Etags eingeführt, so dass der Browser prüfen kann ob sich was geändert hat.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Cold
Mitglied
Beiträge: 1137
Registriert: 07.01.2005 20:57
Wohnort: Aachen
Kontaktdaten:

Re: Browser Caching

Beitrag von Cold »

Welche Cachezeiten würdest du denn empfehlen?

Wie hast du das mit den Etags umgesetzt? Ist dass das, was Google unter URL-Fingerprinting versteht? Kann das im Rahmen einer Extension umgesetzt werden? Fragen über Fragen :)
Viele Grüße,
Martin
Luftraumexperten | Schueler Talk | Spar-Taner
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Re: Browser Caching

Beitrag von gn#36 »

Ich bin sicherlich kein Caching Experte. Ich habe die Einstellungen an meiner Webseite verändert bis es gefühlt deutlich schneller war. Den mit Abstand deutlichsten Effekt hatte die gzip Kompression des gesendeten HTML Textes. Das kann phpBB aber. Bei kurz aufeinanderfolgenden Zugriffen nützt auch Caching was. Den überwiegenden Teil der Wartezeit im Forum braucht zumindest bei mir auch nicht die Datenübertragung zum Browser, sondern das warten auf den Server, der die Seite ausliefern soll, also sprich die Berechnungen, SQL Abfragen etc. von phpBB selbst. Da hilft dann keine Extension gegen. Wenn du natürlich einen aufwändigen Style hast ist das wieder was anderes.

Ich habe auch das Forum nicht angefasst, sondern nur meine quasi-statische Homepage. Daher kann ich dir nicht genau sagen, wie gut sich da was in Extensions verpacken lässt. Das Caching von Foreninhalten macht nicht so irre viel Sinn, wenn ständig neue Posts dazu kommen können. Hier könnte man höchstens die Bilder cachen lassen.

Meine Default-Cache Zeiten in der .htaccess sehen so aus:

Code: Alles auswählen

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 300 seconds"
    ExpiresByType image/png "access plus 1 week"
    ExpiresByType image/jpeg "access pluss 1 week"
    ExpiresByType image/gif "access plus 1 week"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/javascript "access plus 1 week"
    ExpiresByType application/x-shockwave-flash "access plus 1 week"
</IfModule>
Ich vermute mal deutlich länger ginge dank Etags auf jeden Fall auch (deine Zeiten sind bei den statischen Dingen auch ok), ich wollte aber keine Probleme mit veralteten Caches von Usern haben, eine Woche ist bei den langsamen Änderungen an der Webseite denke ich ok. Deshalb liegt der Default auch bei nur 300 Sekunden - es wird ein bisschen gecacht, aber alle paar Minuten kriegt der Browser doch ein Update, das ist bei einer Nachrichtenseite doch schon ganz sinnvoll und wenn man nur alle 5 Minuten Updates bekommt kann man das sicher verschmerzen. Die Bilder, die beim Dowload richtig Zeit fressen halten ja etwas länger.

Für einige Bilder habe ich ein eigenes Auslieferungsskript erstellt, das auch die Etags erzeugt und die Bilder ausliefert. Da kann ja drin stehen was man gerne drin haben möchte - z.B. Änderungsdatum und Größe oder sowas. Die Etags werden bei mir ansonsten von Apache für statische Daten automatisch miterstellt. Lässt sich aber auch explizit aktivieren: http://wpcertification.blogspot.de/2010 ... -http.html In dem Zusammenhang auch interessant: http://stackoverflow.com/questions/6350 ... on-caching
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Support-Forum“