Wordpress und FeedBurner 09. April 2006 um 15:37 Uhr / Webdesign
WordPress ist ziemlich bescheiden programmiert, das wissen wir ja alle. Da die meisten die es einsetzen niemals in den Quellcode schauen und sich eher über den durchaus sinnvollen Funktionsumfang freuen, ist die Software dennoch die Erfolgreichste im Sektor Weblogs. Bei Weblogs die nicht so oft besucht werden ist das ganze auch kein Problem, doch mit steigenden Besucherzahlen kommen auf einen die Probleme zu, die nicht nur die eigene Seite in Mitleidenschaft ziehen, sondern gleich mal den ganzen Server für Stunden lahmlegen können.
So geschehen bei einem Kunden von mir, der vor einem Jahr darauf bestand es installiert zu bekommen; dies ist auch die einzige WordPress Installation die ich betreue. Am Anfang lief auch alles gut, kaum Probleme, bis auf die Tatsache, dass der Onlineeditor jedes mal die CSS Datei zerschoss. Er konnte auch hier und da selbst an seinem Weblog herumschrauben. Mit der Zeit bekam er immer mehr Besucher, so dass er vor einem Monat an die 1000 Besucher pro Tag hatte. Viele von Ihnen haben auch den Feed abonniert, und wohl ziemlich oft angefordert…
Da diese wunderbare Software es nicht für nötig hält Feeds zwischenzuspeichern, werden sie über eine sehr lange und aufwendige SQL Abfrage, bei der unsinnigerweise mehrmals die ganzen Einträge hin- und hersortiert weden, bei jedem Aufruf durch einen Feed-Reader zusammengebastelt. Wenn wir uns mal vor Augen halten dass er ca. 500 Feed Abonenten hat von denen vielleicht 20% alle 3 Minuten den Feed abfragen - ja es gibt wirklich viele solch Verrückte ;-) - dann haben wir allein durch sie verursacht alle 2 Sekunden einen Abruf des Feeds. Dann kommen noch die anderen 80% so dass wir schätzungsweise auf 4 Abrufe pro sekunde kommen nur um die Feedreader zufrieden zu stellen.
Normalerweise für einen Server gar kein Problem, aaaaber, hier muss bei jedem Abruf die Datenbank über 2000 Postings hin und her Sortieren. Dazu kommen noch die normalen Seitenaufrufe, die auch jedes mal über extrem verwurstelte SQL Abfragen, die von WordPress zur Laufzeit generiert werden, generiert werden. Und wir sprechen nur von einem einzigen WordPress Weblog auf dem gesamten Server.
Konkret ging es hier so weit, dass MySQL es einfach nicht geschafft hat die vielen Anfragen zu bearbeiten, die von diesem Blog kamen, und machte den gesamten Server immer langsamer und langsamer, bis irgendwann gar nichts mehr ging. Dann war die einzige Möglichkeit den Server abzuschießen und neu zu starten. Und dann ging das Spielchen wieder von vorne los. Es war nicht einfach herauszufinden, dass es gerade WordPress war, welches das verursacht und dann noch welches von den vielen WP Scripten, denn auf dem Server laufen natürlich unzählige Seiten, zum Glück aber nur ein einziges WordPress Weblog.
Als wir herausfanden dass es MySQL ist, was den hohen Load verursacht, konnten wir auch die Anweisung lokalisieren, die sehr sehr oft aufgerufen wird und beachtliche Arbeit von MySQL verlangt. Danach haben wir den Spagetti WordPress Quellcode durchsucht und herausgefunden, dass es das Feed-Script ist, welches den ganzen Server mit in die ewigen Jagdgründe hinunterreist.
Hätte ich an FeedBurner gedach hätten wir uns das Umschreiben des WordPress-Quellcodes sparen können um einen Zwischenspeicher einzubauen.
Empfehlung
Wenn ihr also ein WordPress Blog einsetzt und viele Besucher habt, die auch oft euren Feed abrufen, tut euch und eurem Hoster einen Gefallen und nutzt Dienste wie FeedBurner, die euren Feed auf ihrem Server zwischenspeichern und sinnvoll damit umgehen (richtige Header an die FeedReader senden).
Jörg Petermann hatte letztens ein Tutorial: Unabhängige Feedburner-Statistiken veröffentlicht, welches euch den Umstieg wirklich erleichtern kann.
Pingbacks
- christoph-hoerl.de | Weblog und Homepage von Christoph Hörl | FeedBurner in Wordpress integriert
- FeedBurner-Plugin verwaltet alle Feeds - cne _LOG Archiv
- Insanity On Stage » Blog Archive » More than evil
Kommentare
Die Kommentare sind für diesen Eintrag geschlossen.
Gerd aus München schrieb am 09.04.2006
Alles klar, danke für den Tipp ;)
Orlando aus Wien schrieb am 09.04.2006
Jeena Paradies aus Varberg schrieb am 09.04.2006
Naja wenn du Joergs Artikel gelesen haettest, dann haettest du gesehen, dass man das wunderbar per mod_rewrite auf FeedBurner umbiegen kann, ohne die URL zu veraendern. Und bevor wieder mal der gesammte Server untergeht lass ich doch lieber die Feeds ueber FeedBurner laufen.
Das mit dem extra-Feed fuer die Unverbesserlichen ist eine coole Idee, da koennte man dann lustige Sachen reinschreiben. Ich glaube ich versuche mal was zu schreiben und es mit einer Statistik ueber die Haeufigkeit pro sagen wir mal IP+Reader Identifikation des Downloads zu koppeln. Aber nicht jetzt ;-).
Stefan Evertz aus Essen / Deutschland schrieb am 05.05.2006
Manueller Trackback:
www.hirnrinde.de
Sam aus Schweiz schrieb am 26.06.2006
Wow. Danke für den Tipp. Muss ich mir ansehen, das Feedburner-Zeugs - hoffentlich ist das nicht zu schwer.
morteza schrieb am 05.10.2006
good post