Sand im Getriebe

Sand im Getriebe

Von Hitzestau - 10.03.2014

Wir sind wieder da!

Aufmerksamen Lesern ist sicher aufgefallen, dass wir in letzter Zeit nichts mehr Neues publiziert haben. Vor knapp zwei Wochen haben uns Probleme mit unserer Webseite und speziell mit dem WordPress ziemlich kalt erwischt. So war es nicht mehr möglich, einen neuen Beitrag online zu machen. Unsere Nerven lagen blank, denn der Blog ist sozusagen unsere Lebensader. Also war für uns tagelang "Sherlock Holmes"-Arbeit angesagt, um die Ursache zu finden. Das hat sehr viel Zeit und noch mehr Nerven gekostet... aber versucht wir mal alles der Reihe nach zu erzählen.

Wie zeigte sich das Problem?

Unser WordPress läuft ehrlich gesagt schon seit einiger Zeit sehr schwerfällig. Auch mit der Auslieferung der Webseite waren wir schon seit längerem nur mässig zufrieden, obwohl wir letztes Jahr einige Arbeit in SEO-Optimierungen investiert hatten. Nun verweigerten aber grundlegende Funktionen im WordPress ihren Dienst. So wurden beispielsweise die Thumbnails der Media Library nicht mehr komplett geladen.

Für Vollansicht hier klicken
Für Vollansicht hier klicken
Für Vollansicht hier klicken
Für Vollansicht hier klicken

Wenn man dann ein Bild zum Einfügen auswählte, wurde dies nicht in den Beitrag übernommen. Zudem brach dann die Verbindung zum Webserver komplett ab und wurde auch nicht mehr neu etabliert.

Für Vollansicht hier klicken
Für Vollansicht hier klicken

Aber auch auf der Webseite gab es grosse Probleme. Bei Beiträgen mit vielen Bildern wurde häufig ein Teil der Bilder nicht geladen.

Suche nach der Nadel im Heuhaufen...

Gefühlsmässig hatten wir schon seit längerem unser Hoster cyon in Verdacht, wenn es um die Performance von Webseite und Backoffice ging. Unsere Webseite läuft dort auf einem Serverplatz in der Shared Hosting Umgebung. Wir hatten schon mehrfach versucht, das Problem beim Support anzusprechen, aber dort sagte man uns jeweils, von ihrer Seite sei alles in Ordnung. Standard-Empfehlungen wie das Deaktivieren von diversen Plugins waren nicht sehr hilfreich, das sie für den Betrieb unserer Seite notwendig sind.

Auch bei den oben geschilderten akuten Probleme rund um die Media Library und das Publizieren von Beiträgen generell, fiel unser Verdacht auf cyon beziehungsweise die Leistungsfähigkeit der Shared Umgebung.

Trotzdem haben wir verschiedene andere Möglichkeiten in Betracht gezogen und haben diese nach dem Ausschlussverfahren "abgearbeitet", um sie als Fehler- und Störungsquellen auszuschliessen oder eben zu identifizieren – Hauptsache war, wir konnten so schnell wie möglich wieder mit unserem WordPress arbeiten, um wieder zu bloggen. Im Folgenden schildern wir diese chronologisch, damit Ihr Euch ein Bild von unserem Vorgehen machen könnt.

Als erstes haben wir auf unseren beiden PC’s verschiedene Browser verwendet und jeweils die Caches dabei geleert. Das Problem war aber kein browserspezifisches, da sich in Google Chrome, Firefox und Internet Explorer dasselbe Bild zeigte. Abgesehen vom Hoster konnte die Problematik ja auch in unserem internen Netz stecken. Diese Vermutung bestärkt hat ein anderes Problem, was mit WordPress überhaupt nichts zu tun hatte. Beim TV-Streaming via Zattoo kam es schon seit längerem zu Unterbrüchen, nachdem wir im Recall die Pausenfunktion benutzt hatten. Auch Webseiten wie spiegel.de fielen immer wieder mit Ladeproblemen auf. Als Archangel dann mit dem MacBook Pro via Tethering ins Netz ging, gab es weder Probleme mit Zattoo noch mit WordPress. Also haben wir unsere interne Infrastruktur mal Schritt für Schritt durchgetestet:

  • Austausch des Managed Switch, vielleicht gab es ja ein Problem in der Firmware
  • PC direkt an die Airport Basisstation angeschlossen, um den Switch zu umgehen
  • PC direkt ans Kabelmodem angeschlossen
  • Einstellen anderer DNS-Server (inkl. Cache im Windows leeren)

Keine dieser Veränderungen brachte eine Verbesserung. Uns war danach ziemlich unklar, wo jetzt die Ursache zu suchen sei. Also entschlossen wir uns, das Kabelmodem bei unserem Provider upc cablecom austauschen zu lassen, was dann auch problemlos klappte. Unterdessen waren schon vier Tage vergangen, dass wir die akuten Probleme mit unserem WordPress hatten. Parallel zu den oben geschilderten Versuchen hatten wir zudem lokal ein neues WordPress aufgesetzt mit allen Plugins und einer Kopie der Original-Datenbank. Hier lief alles wunschgemäss.

Als dann das neue Modem da war, haben wir es sofort angeschlossen und zu unserer grossen Enttäuschung festgestellt, dass sich an der WordPress-Problematik nichts geändert hatte. Aber immerhin liefen Zattoo und spiegel.de wieder reibungslos. Also muss etwas mit dem Modem nicht in Ordnung gewesen sein. Wir wiederholten das ganze Spiel mit Switch und Airport Station nochmal, aber das Problem mit dem WordPress blieb bestehen. Auch via Tethering-Verbindung gab es jetzt mehr Schwierigkeiten als vor ein paar Tagen. Dies liess für uns den Hoster wieder in den Fokus rücken.

Also haben wir am nächsten Tag mit verschiedenen Tools analysiert, was genau passiert, wenn unsere Webseite aufgerufen wird. Dabei haben wir festgestellt, dass Verbindungen nach 30 Sekunden abgebrochen und auch nicht mehr neu aufgebaut werden.

Das liess Monk-Trader keine Ruhe und recherchierte die halbe Nacht weiter und fand noch einen neuen Ansatzpunkt. Beim Durchsehen unserer .htaccess-Datei auf dem Serverplatz fiel ihm diese Zeile auf: "Header set Connection keep-alive". Er löschte diese Zeile und spielte danach im WordPress die Funktionen wie Media Library und Bilder einfügen durch – und alles funktionierte wieder! Mit dem Betreff "Heureka!" ging ein nächtliches Mail an Archangel raus – nur plagten ihn am nächsten Morgen auf seinem PC immer noch die unterdessen nur zu bekannten Probleme.

Diese liessen sich erst mit einer kompletten Neuinstallation von Windows 8.1 lösen, offenbar war es beim Upgrade von Windows 8 via Store zu Treiberproblemen und falschen Registry-Einträgen für die Netzwerkkarte gekommen. Aber mit der Installation waren dann auch die Probleme von Archangel’s PC gelöst.

...Nadel gefunden!

Zum besseren Verständnis müssen wir kurz erklären, was es mit .htaccess und KeepAlive auf sich hat: Die .htaccess-Datei ermöglicht Konfigurationseinstellungen für den Webserver. Dort hatten wir im Rahmen der letztjährigen SEO-Optimierungen die Funktion KeepAlive aktiviert. Damit werden Verbindungen zwischen Webserver und Browser nach der Übertragung einer Datei nicht geschlossen, sondern gleich für die nächste Datei weiterverwendet. Der Vorteil ist, das Verbindungen nicht ständig geöffnet und geschlossen werden müssen, die Webseite wird somit also schneller ausgeliefert. KeepAlive beansprucht jedoch den Arbeitsspeicher des Servers stärker. Ohne KeepAlive wird im Gegenzug der Prozessor stärker belastet.

Das Aktivieren von KeepAlive auf dem Server ist etwas, was von verschiedenen SEO-Analysetools und diversen Plugins empfohlen wird. Dasselbe gilt für zahlreiche Online-Artikel mit den Stichworten "Wordpress optimieren " oder "Wordpress beschleunigen". Nur sind wir damit ziemlich auf die Schnauze geflogen, aber hoffentlich kann jemand anderes aus unseren Erfahrungen lernen. Nicht jede "Optimierung" muss auch zu einer effektiven Verbesserung führen, auch wenn bei uns zunächst alles rund lief.

Wieder Durchatmen

Jetzt sind wir erstmal echt froh, dass wir wieder neue Beiträge publizieren können!

Also war es schlussendlich eine Zeile mit rund 30 Zeichen, die uns derartig heftige Probleme verursacht hatte – Monk-Trader beisst sich deswegen ziemlich "in den Arsch". Auch wenn die KeepAlive-Funktion schon seit dem letzten Sommer aktiv war, scheinen sich verschiedene Faktoren wie Zugriffszahlen oder Anzahl Request an den Webserver erst jetzt so stark kumuliert zu haben, dass das Arbeiten mit WordPress nicht mehr möglich war. Ebenfalls eine Rolle gespielt haben das Kabelmodem – auch wenn der Austausch primär andere Probleme gelöst hat – sowie eventuell die diversen WordPress-Updates der letzten Monate. Ganz genau nachvollziehen lässt sich das kaum.

Was ist unser Fazit aus der ganzen Geschichte? – Unsere Erfahrung zeigt ganz klar, dass man KeepAlive in einer Shared Umgebung nicht verwenden sollte. Zu Webseitenoptimierung gehören nicht nur Keywords und Backlinks, sondern auch viele serverseitige Optimierungen. Wer ernsthaft SEO-Massnahmen umsetzen möchte, sollte sich Gedanken über ein entsprechendes Hosting-Angebot machen. Auch wir müssen uns jetzt dazu einige Überlegungen machen...

PS. In all diesem Durcheinander haben wir es sogar geschafft, unseren eigenen Geburtstag zu vergessen: der Blog hitzestau.com ist am 5. März zwei Jahre alt geworden.