Entschlackungskur für Serendipity

Serendipity Tabelle leerenBei mehreren Serendipity Installationen war mir in der Vergangheit aufgefallen, dass es immer länger dauerte bis die Seiten geladen und vollständig angezeigt wurden. Der Grund dafür ist ganz einfach - die Lösung ebenso.
Es gibt ein paar Tabellen in der Datenbank von Serendipitiy, die mit der Zeit immer größer werden. Das sind die Tabellen serendipity_visitor und serendipity_spamblocklog.

Bei lousigerblick war serendipity_visitor auf über sagenhafte 1.100.000 Millionen Einträge angewachsen und in serendipity_spamblocklog wurden rund 300.000 Datensätze erfaßt. Da wundert es nicht, dass die Datenbankanfragen sehr lange dauern und die Google Webmastertools eine Ladezeit von über 8 Sekunden bescheinigen.


serendipity_visitors und serendipity_visitors_count

Hinter den Tabellen serendipity_visitors und serendipity_visitors_count steckt das Statistik Plugin von Serendipity und die Funkion "Erweitertet Besucherstatistik". Leider wird die Datenbank nicht automatisch bereinigt, so dass die Tabellen enorme Größen erreichen können. Das Problem ist nun, dass bei jedem Seitenaufruf ein schreibender Zugriff auch diese beiden Tabellen erfolgt. Sind die Tabellen sehr groß, leidet die Performance des gesamten Blogs massiv darunter. Man sollte deshalb alle paar Monate die Tabelle serendipity_visitors leeren.


serendipity_spamblocklog

In der Tabelle serendipity_spamblocklog speichert das Spamblock-Plugin alle Vorgänge, bei denen das Plugin automatisch Kommentare oder Trackbacks moderiert oder abgewiesen hat. Hin und wieder kann man hier mal nachschauen, ob eventuell zu viele Kommentare abgewiesen worden sind und dann die Filterregeln anpassen. Ansonsten kann man aber problemlos auf diese Daten verzichten und die Tabelle alle paar Monate leeren.

So leert man eine Tabelle:
  • z.B. per phpMyAdmin in die Datenbank des Blogs einloggen
  • die entsprechende Tabelle anzeigen lassen
  • auf "Operationen" klicken
  • ganz unten findet man dann den Punkt "Tabelle lerren (truncate)

Alternativ funktioniert auch die SQL-Anweisung "TRUNCATE TABLE seredipity_spamblocklog".


Weitere Tabellen

Abhänigig von den installierten Plugins und der Konfiguration der Plugins und von Serendipity gibt es eventuell noch weitere Tabellen, die potentiell mit der Zeit sehr groß werden können, weil dort irgendetwas protokolliert wird. Am einfachsten bekommt man einen Überblick über die Tabellengrößen, wenn man sich in phpMyAdmin die Tabellenstruktur anzeigen läßt. In der Tabellarischen Auflistung gibt es eine Spalte, in der man die größe der jeweiligen Tabelle sehen kann. Alle Tabellen, die größer als 1 MB sind, sollte man sich genauer anschauen und prüfen, ob die darin enthaltenen Daten nicht vielleicht entbehrlich sind.


Fazit: Regelmäßiges Aufräumen kann ein Serendipity Blog massiv beschleunigen.

ToDo: Script / Plugin schreiben, mit dem man die Logdateien per Click leeren kann.




    Noch keine Kommentare

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

    Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!