« Links der Woche - Wordpress 2.4, SumaWiki, ...
Offline Marketing für Selbständige - 1. ... »


To Cache or not to Cache – WordPress-Cache im Zwielicht
Peer Wandiger - 10 Kommentare - Technik - Ähnliche Artikel


Werbung
Fastbill
Werbung

Caching ist eine sehr effektive Methode die Last bei zu vielen Besuchern zu senken. Doch der Einsatz eines Cache hat auch Nachteile. Dieser Artikel beleuchtet die Vor- und Nachteile des Caching.

Ich habe schon vor ein paar Tagen mit dem Gedanken gespielt, das Caching für diesen Blog zu aktivieren. Da es aber Probleme mit Stats-Plugins wie z.B. semmelstatz gibt, habe ich davon noch meine Finger gelassen. Aber eigentlich kommt man um die Aktivierung des Cache nicht herum und da heute ein Leser per Mail beklagte, dass es 5-10 Sekunden dauert, bis eine Seite geladen wird, habe ich den WP-Cache 2 nun doch aktiviert.

Was ist ein Cache?

HTML-Seiten von Blogs und normalen Websites werde heutzutage nicht mehr “von Hand” einzeln erstellt, wie das früher der Fall war. Damals wurden HTML-Seiten einzelnen erstellt und als HTML-Seite hochgeladen. Diese Seiten waren “fertig”.

Heute verwendet man Datenbanken und generiert dazu im Moment des Aufrufes einer Seite den Inhalt dieser Seite. Eine Vorlage wird also immer für jeden Seitenzugriff mit Inhalten gefüllt.

Da der Server aber für jede Seite dutzende male auf die Datenbank zugreifen muss und auch noch diverse PHP-Funtionen ausführt, ist diese dynamische Erstellung von HTML-Seiten zwar flexibler, aber eben auch langsamer. So ist z.B. WordPress bisher nicht besonders in diesem Bereich optimiert, so dass die vielen Datenbankzugriffe den Seitenaufbau relativ stark verlangsamen.

Es gibt viele Arten von Cache-Umsetzungen. Einer der gängigsten ist, dass man die HTML-Seite beim ersten Zugriff darauf normal aus der Datenbank erstellt und diese erzeugte Datei dann zwischenspeichert auf dem Server. Kommt dann ein weiterer Besucher und will die selber HTML-Seite anschauen, generiert man diese nicht mehr neu, sondern zeigt diesem Besucher die fertig zwischengespeicherte Seite an.

Welche Vorteile hat der Cache?

Das Caching von Internet-Seiten entlastet den Server und die Datenbank sehr stark. Es ist nun mal ein Unterschied, ob man innerhalb von einer Stunde 1.000 mal eine Seite aus der Datenbank heraus generiert oder ob man das einmal tut und dann diese fertige Seite anzeigen lässt.

Wie verschiedene Benchmarks [1] [2] zeigen, verringert sich die Serverlast durch das Caching auf ein Minimum. Ist natürlich klar, da einfach nur eine fertige Datei ausgeliefert werden muss, statt dutzende Datenbankzugriffe und Funktionsaufrufe auszuführen.

Das ist auch visuell gut zu erkennen. Es erscheint die komplette Seite und baut sich nicht nach und nach auf.
Ein weiterer Vorteil ist, dass JavaScript-Funktionen weiterhin ausgeführt werden, da diese ja normal im HTML drin stehen. Hier werden also z.B. Statistiken von Google Analytics normal weiter gesammelt.

Welche Nachteile hat ein Cache?

Man kann einen Cache normalerweise zeitlich begrenzen. So habe ich hier z.B. eingestellt, dass eine Seiten nach 60 Minuten neu generiert werden muss. Damit werden dann auch Änderungen seit der letzten Zwischenspeicherung übernommen.

Problematisch ist dies bei mir derzeit bei der Anzeige der “User Online”. Diese Zahl wird nur alle 60 Minuten aktualisiert und ist damit derzeit sinnlos. Diese Zahl wird aus dem Plugin semmelstatz übernommen. Dieses Plugin funktioniert nun mit dem Cache aber auch nicht mehr korrekt, da es bei den gecachten Seiten keine Stats erfasst.

Ich habe versucht auf Basis dieser Anleitung Semmelstatz wieder zum laufen zu bekommen. Dies hat nicht funktioniert und ich hacke auch ungern an den Basis-Dateien von WordPress herum, da diese beim nächsten Update eh wieder überschrieben werden.

Problematisch ist in diesem Zusammenhang auch, dass die Listen “Die aktuellsten Beiträge” und “Die beliebtesten Beiträge” von semmelstatz erzeugt werden. Und zumindest “Die beliebtesten Beiträge” werden nun nicht mehr richtig funktionieren.
Ich schaue mich hier mal nach Alternativen um.

UPDATE:
Der Manfred von blogoff.de hat mir einen kleinen Tipp gegeben, mit dem nun das semmelstatz-Plugin wieder läuft. Allein für die Anzeige der “User online” muss ich mir noch was überlegen.

WordPress-Lösungen

WordPress selber hat bereits ein Cache-System. Allerdings ein recht einfaches, welches nur wenig an der Ladezeit verbessert.

Das Plugin wp-cache 2 bringt dagegen deutliche Verbesserungen. Die Ladezeiten verringern sich sehr stark. Allerdings müssen Bilder natürlich trotzdem geladen werden, da nur der HTML-Code zwischengespeichert wird. Ebenso dauert die Ausführung des ein oder anderen JavaScript-Befehls noch etwas Zeit.
Insgesamt haben sich die Ladezeiten aber durch dieses Plugin deutlich verbessert.

Es gibt noch andere Cache-Lösungen. Das Problem bei WordPress ist, dass es durch die vielen erhältlichen Plugins immer wieder vorkommen kann, dass das eine oder andere Plugin nicht mehr richtig läuft. Hier gibt es zwar bei den Cache-Lösungen wiederum die Möglichkeit einzelne Teile des PHP-Codes dynamisch zu belassen, aber da muss jeder WordPress-User selber prüfen, ob es Probleme gibt.

Andere Möglichkeiten zur Ladezeitenoptimierung

Es gibt aber noch andere Möglichkeiten die Ladezeiten zu verbessern:

  • So kann man z.B. die Anzahl der Datenbank-Zugriffe verringern, indem man sehr Datenbank-Intensive Plugins auslagert auf eine Extraseite.
    Die Funktion <?php echo $wpdb->num_queries; ?> queries. <?php timer_stop(1); ?> seconds. zeigt die Anzahl der Datenbankzugriffe im Quellcode an. Einfach ganz unten in den Footer einbauen.
  • Man kann natürlich auch generell den Inhalt einer Seite verringern. So würde es die Ladezeiten sicher verbessern, wenn man die Anzahl der Posts auf der Blog-Startseite von 20 auf 10 verringert. Auch nicht wirklich benötigte Plugins sollte man deaktivieren.
  • Ein leistungsfähigerer Server beschleunigt die Auslieferung von Seiten natürlich auch. Gerade in Stoßzeiten macht das sehr viel aus.
Fazit

Das Cachen mit WordPress ist nicht ohne Hürden. Ich würde mich freuen, wenn WordPress selbst in einer der nächsten Versionen ein verbessertes Cache-System mitbringt. Natürlich so komfortabel, dass man einzelne Plugins von Cachen ausschließen kann.


Hier findest Du weitere Informationen zu diesem Thema:

Die besten Artikel zum Thema 'Technik'
Werbung
Werbung

Der Artikel hat Dir gefallen?
Dann abonniere den Feed! Die Artikel gibt es auch per Mail



Kommentare
10 Kommentare und Trackbacks zu 'To Cache or not to Cache – WordPress-Cache im Zwielicht'

Kommentare zu 'To Cache or not to Cache – WordPress-Cache im Zwielicht' mit RSS

  1. 1 tex kommentierte am 18.11.2007 um 13:32 Uhr

    Ich habe Caching, bei diversen Seiten, schon seit längerem aktiviert, da mir das ohne einfach zu langsam war. Mir persönlich sind schnelle Ladezeiten wichtiger als so Spielereien wie z.B. wieviele User gerade Online sind.

  2. 2 Peer Wandiger kommentierte am 18.11.2007 um 15:08 Uhr

    Naja, einige der “Spielereien” können viel mehr sein. Man sollte die psychologischen Auswirkungen mancher “Spielereien” nicht unterschätzen.
    Aber ansonsten hast du recht. Laden die Seiten nicht schnell, dann bringen auch die kleinen Gimmicks nichts.

  3. 3 JensHellmeier kommentierte am 18.11.2007 um 15:59 Uhr

    Ab einer bestimmten Ladezeit sollte man wirklich Caching aktivieren aber aonsonsten denke ich wo doch immer mehr das Zeitalter von DSL die Oberhand gewinnt man muss bei 200KB Seiten was nun mittlerweile auch der gößte Teile ist alle Seiten umfasst kein Caching aktivieren… >300KB würde ich es empfehlen… Gut nachvollziehen lässt sich das ja mit Firebug wie lange die Ladezeiten sind bzw. wieviele KB geladen werden müssen.

  4. 4 Peer Wandiger kommentierte am 18.11.2007 um 16:07 Uhr

    @ Jens
    Die von dir angesprochenen KB spielen eher eine untergeordnete Rolle beim Caching. Die meisten KB werden ja von Bildern und anderen eingebetteten Objekten verschlungen und darauf hat das Caching (wir sprechen hier von Caching auf dem Server und nicht im Browser!) keine Auswirkungen.
    Das Caching verringert wie oben beschrieben die Arbeit des Servers und der Datenbank. Also für sehr aufwendige Sites mit vielen Plugins und Funktionen lohnt sich das Caching.

  5. 5 Ingolf Kreuzer kommentierte am 18.11.2007 um 22:51 Uhr

    Irgendwie mag ich das Caching nicht so recht. Bei nächsten WP-Version soll ja besonderen Wert auf Performance-Verbesserung gelegt werden. Hoffen wir mal, dass es so kommt.

  6. 6 Oliver kommentierte am 18.11.2007 um 23:29 Uhr

    Ich hab mal mit Caching bei Joomla Sites herumgespielt und kann nur sagen, dass die Resultate toll waren. Ich denke es sollte im Interesse jedes Webmasters sein die Ladezeiten für die Besucher so gering wie möglich zu halten. Ich merk es ja auch bei mir selber wenn ich mal privat surfe; wenn eine Site zu langsam lädt dann bin ich schnell beim “back button”.

  7. 7 Peer Wandiger kommentierte am 19.11.2007 um 09:26 Uhr

    @ Ingolf
    Naja, zu viel erwarte ich von den Optimierungen nicht. Zumal ich denke, dass vor allem die Plugins viel Performance kosten. Aber ich liebe Plugins ;-)
    Schaun mer mal.

    @ Oliver
    Es kommt auch darauf an wie die Seite lädt. Bei mir war der Haupt-Content relativ schnell da. Die Sidebar hat länger geladen. Aber du hast schon recht, je schneller umso besser.

  8. 8 Tom Schultz kommentierte am 19.11.2007 um 11:42 Uhr

    Neben einem WordPress-Cache, gibt es ggf. noch andere Möglichkeiten die Seite zu beschleunigen. Da gehen die Möglichkeiten von einem PHP-Cache (wenn man einen eigenen Server hat z.B. APC) über das GZIP(pen) der Seitenelemente bis hin zum zusammenfassen und optimieren von Javascript und Bilddateien.

    Für die Analyse eignet sich im Firefox das AddOn Firebug in Kombination mit YSlow.

  9. 9 Peer Wandiger kommentierte am 19.11.2007 um 19:23 Uhr

    @ Tom
    Das hast du natürlich recht. Aber das Thema würde sicher hier zu weit führen. Zumal viele Blogger ein normale Webhosting-Paket haben, wo man derartiges nicht ändern kann.

    Das GZIPpen funktioniert teilweise nicht mit dem Cachen zusammen.
    Und auch die Detail-Optimierungen an Scripten etc. sind natürlich wichtig, da hast du völlig recht.

    Evtl. wird das ja mal ein Artikel in der Zukunft.

Trackbacks

  1. Blog beschleunigen SEO – Wordpress schneller machen | Seoperlen.de SEO



wpSEO, das Plugin für WordPress SEO Werbung





Twitter Selbständig
5.032
Follower
Facebook Selbständig
922
Fans
Google+ Peer Wandiger
5.829
Kreise
WER SCHREIBT HIER?
Peer Wandiger Mein Name ist Peer Wandiger. Ich bin selbstständiger Webentwickler und Blogger. Hier im Blog findest du mehr als 3.000 Fachartikel, die besten Artikel aus über 7 Jahren und alles über den Blog und mich.
Alle neuen Artikel als RSS-Feed (mehr als 5.000 Leser) oder als Newsletter.
Impressum & Datenschutz
AKTUELLE ARTIKEL
BELIEBTESTE ARTIKEL
WERBUNG
Backlinkseller - SEO
Market Samurai kostenlos testenWebsite-Tooltester
AKTUELLE ANGEBOTE
AKTUELLE UMFRAGE

Ideen für den Nischenseiten-Challenge Podcast bzw. Videos

Ergebnis anschauen

Loading ... Loading ...
TOP 5 EINNAHMEQUELLEN*
  1. Backlinkseller.de
    Geld verdienen mit Backlinks.
  2. Adiro.de
    Geld verdienen mit Text-Anzeigen.
  3. Finanzen.de
    Versicherung- und Kredit-Partnerprogramm.
  4. Everlinks.net
    Linkverkauf und bezahlte Artikel.
  5. Superclix.de
    Affiliate-Netzwerk mit Sofortfreischaltung.
TIPPS
ARTIKELSERIEN
BLOG NETWORK
WERBUNG
LINK-EMPFEHLUNGEN
AKTUELLE KOMMENTARE
Jan
Ich werde in 10 Jahren mit meinen 15 Nischenseiten 5000 € verdienen und mein...
19. August 2014

timo
Danke hans peter, genau sowas ist doch klasse! @ Dewon, vielleicht solltet ihr...
19. August 2014

Johann
Mal wieder ein tolles Interview. Leider für kleinere Nischenwebseiten ein wenig...
19. August 2014

Thomas
Sehr interessante Zusammenfassung. Wieso hast du eigentlich aufgehört, die...
19. August 2014

DrohnenFan
Dass man mithilfe der Verknüpfung zu AdSense die Einnahmen den einzelnen...
19. August 2014

SOCIAL NETWORKING
*

View Peer Wandiger's profile on LinkedIn

Blogverzeichnis - Blog Verzeichnis bloggerei.de

INFORMATIONEN