seeseekey.net - Invictus Deus Ex Machina

In den letzten Tagen hatte ich mit einer WordPress Installation einige Probleme. Diese äußerten sich darin, das die Webseite bei jedem Aufruf hohe Last erzeugte. Im Laufe der Zeit wurde die Laste dabei immer größer. Irgendwann gab der Server nur noch einen HTTP 500 Error von sich. Im Backend äußerte sich das ganze mit einer weißen Seite, was im Normalfall auf zu wenig Speicher für PHP hinweist.

In diesem Fall lag das Problem an anderer Stelle. Beim Überprüfen der Datenbank stellte sich heraus das die Tabelle “wp_options” enorm groß war. Im Normalfall ist diese Tabelle ein paar MiB groß. In meinem Fall war sie knapp 600 MiB groß und bestand aus über 500.000 Einträgen. Bei diesen Dimensionen wird klar, wohin die Performance verschwunden ist. Im konkreten Fall gab es viele “transient” und “displayed_galleries” Einträge. Letzte Einträge werden vom Plugin “NextGEN Gallery” erzeugt. Die “transient”-Einträge enstehen durch Caches (unter anderem für den RSS-Feed). Möchte man die Datenbank bereinigen helfen folgende SQL Befehle:

DELETE FROM wp_options WHERE option_name LIKE ('_transient_%')
DELETE FROM wp_options WHERE option_name LIKE ('displayed_galleries%')

Anschließend sollte die Tabelle optimiert werden, damit der von den gelöschten Einträgen belegte Speicherplatz wieder freigegeben wird.

Update:
Mittlerweile gibt es auch einen entsprechenden Artikel im WordPress Forum.

Weitere Informationen gibt es unter:
http://www.staze.org/wordpress-_transient-buildup/

6 Kommentare

  1. Unter WordPress sollte es recht einfach sein, die Datenbank zu verwalten. z.B. über den DBManager http://wordpress.org/plugins/wp-dbmanager/
    Es gibt auch einige Plugins, die die Datenbank automatisch säubern. Das klappt recht gut und gefahrlos, aber da jedes Plugin einen anderen Fokus hat, kann ich da keine Empfehlung für ein bestimmtes geben.

    Antworten

    • Wobei solche Plugins natürlich nur dann helfen, wenn man noch in das Backend kommt 😉 Um Tabellen zu entfernen, welche von nicht mehr installierten Plugins angelegt wurden eignet sich auch WPDBSpringClean.

      Antworten

  2. Verdammt mich hat es auch erwischt. Genau die gleichen Symptome. Ich wage mich nun mal ran.

    Danke für den Tipp!

    Antworten

  3. Pingback: Probleme mit der WP-Datenbank | intux

  4. Nur mal ein kleiner Tipp. Die Datenbank füllt sich ja nach wie vor wieder recht schnell. Es liegt an der NGG 2.0 (Widget).
    Einfach mal in der NGG -> Oter Options -> Miscellaneous -> Clear image cache klicken
    Das bewirkt Wunder! Die Datenbank schrumpft noch mehr zusammen.

    intux

    Antworten

  5. Ich bin auch gerade auf der Suche nach der Quelle meines sehr langsamen Blogs. Dabei ist mir auch die unglaubliche Größe der wp_options Tabelle aufgefallen… und so bin ich hier gelandet. Sehr hilfreicher Artikel!
    Es ist ein unverständlich wie ein so weit verbreitetes Plugin wie NGG so einen Mist mit der wp-options anstellen kann. Diese Tabelle ist eigentlich nicht dafür gedacht sie so zuzumüllen.

    Naja, in meinem Fall hat es an der Performance leider nicht viel gebracht. Liegt an was anderem. Ich suche weiter. Auf jeden Fall ist die wp-options erst einmal wieder schöne klein… mal schauen wie lange.

    Viele Grüße
    Gordon

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.