Zum Inhalt springen
DE

Start / Fallbeispiele

Gelegentliche Verlangsamung um 3 Sekunden ohne Schuldigen unter den Plugins

Symptome

Aus dem Cache luden die Seiten in etwa 0,15 s. Ohne ihn (Warenkorb, Kasse, Anmeldung, erster Besuch nach dem Leeren des Caches) schwankte es zwischen 0,8 und 4 s. Gefühlt: „Die Website ist manchmal träge.“

Umgebung

WordPress mit WooCommerce, Page Builder und rund 40 aktiven Plugins, Shared Hosting mit LiteSpeed und dessen Cache.

Diagnose

  1. Wiederholte Messung. Mehrere Seiten haben wir außerhalb des Caches alle 75 s über einige Minuten geladen. Die Verlangsamung war nicht an die Startseite gebunden: Sie betraf genauso oft eine gewöhnliche Textseite. Etwa die Hälfte der Anfragen in einer Serie hatte +3 s. Genau 3 s zusätzlich sahen nach dem Timeout eines externen Aufrufs aus (Lizenzserver, API, Schriften).
  2. Ein temporäres Diagnose-Mu-Plugin (mit Zustimmung, ohne personenbezogene Daten). Es protokollierte die Zeit bis zu den Hauptphasen der Anfrage (muplugins_loaded, plugins_loaded, init, wp_loaded, template_redirect, shutdown) und jeden externen HTTP-Aufruf über die Filter pre_http_request und http_api_debug.
  3. Das Ergebnis war überraschend: Die langsamen Anfragen (etwa 3,3 s, ungefähr eine von fünfzehn) hatten keinen externen HTTP-Aufruf. Verlangsamt waren alle Phasen gleichmäßig, am meisten der Start bis plugins_loaded (1,3 s statt 0,12 s). Kein Plugin stach also heraus.
  4. Das Mu-Plugin und sein Log haben wir direkt nach der Messung gelöscht und geprüft, dass die Adresse 404 liefert.
Die langsame Anfrage ist in allen Phasen langsamer Ungefähr jede fünfzehnte Anfrage dauerte über 3 Sekunden. Die Aufschlüsselung nach Phasen zeigte, dass sich alle Phasen gleichmäßig verlangsamten und es keinen externen Aufruf gab. Das deutet auf einen Kaltstart von PHP hin, nicht auf ein Plugin. Antwortzeit ohne Cache 3,3 s normal 0,8–1 s Wo die Zeit verloren geht (Phasen von WordPress) schnell langsam Alle Phasen gleichmäßig länger, ohne externe Aufrufe → Kaltstart von PHP.
Ungefähr jede fünfzehnte Anfrage dauerte über 3 Sekunden. Die Aufschlüsselung nach Phasen zeigte, dass sich alle Phasen gleichmäßig verlangsamten und es keinen externen Aufruf gab. Das deutet auf einen Kaltstart von PHP hin, nicht auf ein Plugin.

Ursache

Eine gleichmäßige Verlangsamung der gesamten Anfrage ohne externe Aufrufe entspricht einem kalten PHP-Prozess auf Shared Hosting. Die Anfrage bekommt einen neuen Prozess mit leerem Opcache, der den Code aller Plugins neu laden und kompilieren muss. Weder ein Plugin noch die Website sind daran schuld.

Was droht, wenn man nichts tut

Langsam sind gerade die Seiten, auf denen Geld verdient wird: Warenkorb, Kasse und Kundenkonto. Jede zusätzliche Sekunde Warten erhöht die Zahl abgebrochener Warenkörbe, und Google rechnet eine langsame Serverantwort in die Bewertung der Geschwindigkeit ein. Die Suche nach einem Schuldigen unter den Plugins kostet außerdem Zeit und Geld für unnötige Eingriffe.

Reparatur

Auf Seiten der Website gibt es nichts zu reparieren. Wir haben empfohlen:

  • beim Support des Hostings nach der Anzahl der PHP-Prozesse zu fragen, wie lange sie leben und wie groß der Opcache ist,
  • langfristig die Zahl aktiver Plugins zu senken, damit der Kaltstart kürzer dauert.

Besucher, denen die Seiten aus dem Cache geladen werden, betrifft das nicht.

Überprüfung

Die wichtigste Erkenntnis war ein Ausschluss: kein externer Aufruf und kein einzelnes Plugin. Damit haben wir uns Stunden blinden Deaktivierens von Plugins gespart.

Vorbeugung und Lehren

Bevor Sie einen Schuldigen unter den Plugins suchen, messen Sie, welche Phasen der Anfrage sich verlangsamen. Verlangsamen sich alle gleich, liegt das Problem unter WordPress (PHP, Festplatte, Hosting), nicht darin.

Verwandte Leistungen: Notfälle und Fehler Website beschleunigen

Haben Sie ähnliche Symptome?

Schreiben Sie mir die Adresse Ihrer Website und welche Symptome sie hat. Die Diagnose ist kostenlos und unverbindlich. Ich melde mich meist innerhalb eines Werktags.

Symptome beschreiben

oder direkt per E-Mail an [email protected]