Querdenkender Webworker mit WordPress-Affinität

WP, DB, Maintenance, Murphy und mein Hoster

Ich habe gerade Probleme bei einem Account, mit dem ich seit Jahren – ohne grösssere Vorkommnisse – ziemlich zufrieden war. Für ein Taschengeld bekommt man beim Dienstleister Hostloco einen ganz ordentlichen Webspace mit PHP5 und einer mySQL-Datenbank. All das, was man so mit einer WordPress-Installation anstellen möchte, lässt sich dort ohne Überraschungen durchführen.

Nun hat sich die Situation gestern schlagartig geändert. Meine Reise-Website erschien mir schon etwas träge, sodass ich mich erst einmal mit der Datenbank verbunden habe und die Tabellen ausgewählt habe, die einen Überhang hatten, um eine Optimierung durchzuführen. Vermutlich genau auf diesen Augenblick hatte Murphy nur gewartet: Das mySQL-Cluster stand wohl schon unter Hochlast und ich vermute, dass die Optimierungen begonnen, aber nicht nicht beendet wurden, was wahrscheinlich zur Zerstörung der entsprechenden Tabellen führte.

Ein paar Augenblicke später stellte dann auch Pingdom fest, dass meine Website nicht mehr erreichbar war. Nach einiger Zeit, die ich mit erfolglosen Versuchen vergeudet hatte, war dann klar, dass nur noch das Einschicken eines Tickets an meinen Hoster Sinn machte. Wenn ich zum Warten verurteilt worden bin, gehe ich oft erst einmal spazieren. Das macht den Kopf frei und der Körper dankt es einem auch. Nach meiner Rückkehr hatte sich die Situation nicht verbessert, ganz im Gegenteil …

Aus der Sicht meines Hosters stellte sich die Situation nämlich ganz anders dar. Auf der Suche nach dem Schuldigen für die Überlast auf dem System brauchte der Techniker nicht lange zu suchen. Meine WordPress-Installation öffnete fleißig Connections zur DB, um dann schließlich bei 6000 Verbindungen anzulangen. Der vermeintlich Schuldige war also gefunden und meinem Account schnell die Rechte an der Datenbank entzogen. Den Auszug aus dem Logfile, den ich dann später erhielt, hätte man aber auch anders deuten können:


... | Waiting for table | SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'
... | Waiting for table | SELECT option_name, option_value FROM wp_options

Einige Details habe ich weggelassen, die Zeilen auf die beiden wesentlichen Statements reduziert und aus Sicherheitsgründen den Namen der Options-Tabelle geändert, aber man kann ziemlich gut erkennen, dass WordPress lediglich versucht hatte, an die Einstellungen zu gelangen. Dass die Tabelle zu diesem Zeitpunkt bereits zerstört war, konnte der Techniker nicht wissen. Die ganze Begebenheit bringt mich zu einigen Schlüssen, aber auch zu einigen Fragen, deren zeitnahe Beantwortung essentiell ist:

  1. Ich werde bei Hostloco Kunde bleiben, aber auf einen VPS wechseln. Am Sonntag Abend einen Dienstleister ans Telefon zu bekommen, finde ich bemerkenswert und sehr überzeugend.
  2. Man kann WordPress auf einem normalen Webspace betreiben, wenn man das Risiko eingehen kann und will. Vermutlich ist das eine reine Kosten-/Nutzen-Frage, die sich mir aber nicht mehr stellt.
  3. Wenn das Optimieren der Tabellen ein atomarer Vorgang ist, sollte es einen besseren Weg geben, als phpMyAdmin dafür zu nutzen. Möglicherweise hilft der Maintenance-Mode von WordPress mit einem entsprechenden Plugin dabei.
  4. Die Ausgabe von WordPress, wenn die Datenbank nicht erreichbar ist, ist schon mal eine klasse Sache. Eventuell kann man das aber auch etwas schicker gestalten.
  5. Für den Maintenance-Mode, der ausgelöst wird, wenn man beispielsweise aus der Administrationsoberfläche Plugins aktualisiert, gilt das selbe. Das muss ich mir bei Gelegenheit mal näher ansehen.
  6. Regelmässige Backups zu machen, ist alles! Auch wenn man entsprechend vorsichtig ist, können Dinge schief laufen. Mein Glück, dass meine Backups recht aktuell sind!

Have fun!

Das könnte Dich auch interessieren:

Kommentare

  1. Inzwischen muss ich Punkt 1 schon wieder relativieren. Trotzdem ich gestern telefonisch nachgehakt habe, ist bisher kein VPS eingerichtet worden. Das ist einerseits schade … andererseits habe ich gestern auch gleich mit Andreas von Comodin.com gesprochen, der mir sofort alles eingerichtet hatte, sodass ich Urlaub & Reisen sofort umziehen konnte. Noch ein Tag offline wäre für mich nicht akzeptabel gewesen.

  2. da les ich was von backups die halbwegs aktuell sind. bei mir läuft da ein cronjob der alle mysql_DBs regelmäßig in ein verzeichnis dumpt:

    for i in $(echo ‚SHOW DATABASES;‘ | /usr/local/bin/mysql | grep -v ‚^Database$‘ ); do
    /usr/local/bin/mysqldump –opt –single-transaction $i > $BackupFolder/$i.sql;
    done;

    ich kann dir deine tabellen auch gern in dein home/ verschieben. bisher hat noch kein kunde danach gefragt, ich mach die backups nur für mich selber, aber wenn die schon mal da sind, dann kannst du sie doch auch nutzen.

    viele grüße in den süden
    — andreas

  3. Du hast von meinem Umzug gelesen? Ich war 5 Jahre bei Hostloco, aber seit die Spitze dort gewechselt hat, geht nix mehr. Wie viele bei der Umstellung auf MSQL5 ihre Daten verloren haben ist nicht mehr normal und Tickets nach über 10 Tagen zu bearbeiten auch nicht. Bin jetzt bei all-inkl.com 😉

  4. Eigene gestaltete Fehler-Seiten für den DB-Error in WP gehen natürlich, siehe Beitrag dazu. Besser ist aber sicher ein Webspace, der in der Hinsicht weniger Ärger macht.

  5. @Andreas Recht aktuell bedeutet in dem Fall, dass ich nur 2 Artikel rekonstruieren musste, was sich mit Hilfe meines RSS-Reader ganz schnell bewerkstelligen ließ. Ein Plugin, um Backups zu machen, ist bei mir immer installiert.

    @Chaosweib Ja, was soll ich sagen … es hat sich noch keiner von denen bei mir gemeldet. Sehr seltsam!

    @Frank Danke für den Link! Werde ich mir gleich mal anschauen.

Deine Meinung ist uns wichtig

*