Serendipity Blog Performance
Mein letzter Artikel hier liegt über ein halbes Jahr zurück. Ich hatte viel anderes zu tun und wenig Lust darauf, Blog Artikel zu schreiben. Inzwischen habe ich wieder einiges an Spielereien zu berichten, somit fange ich einfach mal wieder an. Mal schauen, wie meine zukünftige Artikel Frequenz sein wird. ![]()
Als erstes habe ich mich um mein Blog an sich gekümmert. Dieses wurde immer langsamer. Ein Aufruf der Seite beanspruchte mindestens 5 Sekunden, oft deutlich länger. Einige Tests mit Ausschalten der bei mir installierten Plugins brachte keine Besserung.
Dann habe ich mir mal die Datenbank von Serendipity angeschaut. Die üblichen Tabellen Optimierungen brachten nichts, jedoch entdeckte ich Tabellen mit riesigen Mengen an Einträgen. Eine davon ist die Tabelle serendipity_spamblocklog, deren Einträge beschreiben, wann und warum Kommentare und Trackbacks abgelehnt wurde. Diese habe ich erst einmal komplett geleert.
Viel wichtiger scheint aber die riesige Tabelle serendipity_visitors zu sein. In dieser habe ich alle Einträge gelöscht, die vor dem 1.1.2009 erzeugt wurden. Und siehe da: Das brachte den gewünschten Erfolg! Inzwischen lädt das Blog wieder in 1-2 Sekunden, hat also endlich eine deutlich erträgliche Ladezeit. Als nächstes müsste man einmal schauen, warum diese Tabelle das Blog so lahm legt und ob man da nicht eine Code oder DB Optimierung vornehmen kann.
Erstaunlich ist, dass die Größe dieser Tabelle bei mir ungefähr das 100 Fache der Größe der Tabelle hatte, die die Artikel des Blogs speichert. Man würde eigentlich vermuten, dass letztere die größte Tabelle sein müsste. Zum Vergleich: Die Tabelle serendipity_entries, die die Artikel enthält, hat bei mir derzeit eine Größe von 1,5MB, die Tabelle serendipity_visitors hat auch nach der Bereinigung immer noch 38,1MB!
Comments
Display comments as Linear | Threaded
Uwe on :
Schön mal wieder was von dir zu hören
Grischa on :
Dito!
Garvin on :
Ja, tatsächlich sind visitors+spamblock-log eine der Performancebremsen. Ich hab das im s9y Buch speziell hervorgehoben, aber man kommt nicht unbedingt darauf wenn alles langsamer wird.
Den visitors code habe ich mir nie wirklich angesehen (ich nutze google analytics zum tracking), aber ich wette da gibts viel zu optimieren.
Anyhow, kurzer Themenwechsel: Ist dein Archos 605 Akku auch so tot wie meiner? Meiner hält nur noch 1,5 bis 2 Stunden...
Grischa on :
Hmm.. Mein Archos Akku läuft eigentlich noch recht gut. Habe den gerade an meine Schwester ohne Ladekabel verliehen und diese hat trotz ausgiebigen Testen den Akku nur halbiert..
Grischa on :
In den NEWS zu Serendipity im svn repo habe ich folgendes gefunden:
"Fix missing index key creation for statistics tables in the statistics plugin (isotopp)"
Ah, schau an! Das ist nach meiner aktuell installierten Version eingebaut worden. Wird das beim Upgrade meiner Version automatisch nachgeholt oder muss ich mir das SQL Skript raus suchen und manuell ausführen?
Das könnte erklären, warum meine große Stat Tabelle solche Performance Probleme produziert..
Grischa on :
Selbstgespräch
: Nein, diese Änderung wird leider nicht automatisch beim Update ausgeführt. Siehe Hinweise im Trackback "Serendipity auf 1.5 Alpha erneuert"
Robert Lender on :
Schön, dass du wieder zurück bist. Freue mich wieder über gute Artikel und vielleicht den einen oder anderen Hinweis zu S9y und ... man hofft ... neue Plugins oder Überarbeitungen für die beste Blog Engine der Welt
Danke für die Hinweise. Schaue ich mir an. Diese Artikel kommt dann auch in die nächste Auflage des Online Manuals zu S9y.
Grischa on :
Hey Robert, danke für die Grüße. Ja, ich denke, zu Serendipity werde ich immer wieder was schreiben.
War ja schon fast klar, dass der erste Artikel wieder unsere Lieblings Blog Engine zum Thema hatte..