Wordpress und FeedBurner 09. April 2006 um 15:37 Uhr / Webdesign

Eingestellt am 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

Feedburner 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

  1. christoph-hoerl.de | Weblog und Homepage von Christoph Hörl | FeedBurner in Wordpress integriert
  2. FeedBurner-Plugin verwaltet alle Feeds - cne _LOG Archiv
  3. Insanity On Stage » Blog Archive » More than evil

Kommentare

Die Kommentare sind für diesen Eintrag geschlossen.