Das APM-Tool von Kinsta ist ein mächtiges Werkzeug zur Fehlersuche auf deiner Webseite. In diesem Artikel zeigen wir dir verschiedene Szenarien, wie du mit dem APM-Tool Performance-Probleme auf einer Webseite untersuchst und analysierst.

Wenn du mit den Einstellungen und der Terminologie des APM-Tools nicht vertraut bist, sieh dir unseren Leitfaden zur Nutzung des Kinsta APM-Tools an.

Erste Schritte

Bevor du das APM-Tool zur Fehlersuche einsetzt, musst du unabhängig vom Problem ein paar Schritte unternehmen:

  1. Vergewissere dich, dass du das Problem nachstellen kannst, wenn es derzeit nicht auftritt. Suche nach Mustern, wann das Problem auftritt oder ob bestimmte Aktionen das Problem auszulösen scheinen (z.B. das Bearbeiten einer Seite, das Hinzufügen eines Produkts zu einem E-Commerce-Warenkorb, das Hochladen von Bildern, usw.).
  2. Aktiviere das APM-Tool in MyKinsta und gib ihm ein paar Minuten Zeit, um Daten zu sammeln. Das APM-Tool kann nur Daten aufzeichnen und analysieren, solange es aktiviert ist.
  3. Sobald das APM-Tool mit der Datenerfassung beginnt, erstellst du das Problem erneut, um die notwendigen Informationen aufzuzeichnen.
  4. Wenn Redis auf deiner Webseite aktiviert ist, stelle sicher, dass du entweder das WP Redis- oder das Redis Object Cache-Plugin verwendest (aber nicht beide). Es kann sein, dass wir Redis-Daten von anderen Plugins im Kinsta’s APM-Tool nicht erfassen und anzeigen können.

Analysiere langsam ladende Seiten oder Aktionen

In diesem Beispiel werden die Seiten zwar schnell geladen, aber wenn du ein Produkt in den Warenkorb legst, egal ob es sich um ein einfaches oder ein variables Produkt handelt, wird alles langsamer.

Nachdem wir einige Produkte in den Warenkorb gelegt haben, werfen wir einen Blick auf die Ergebnisse in APM (WordPress Seiten > Seitenname > APM) und sehen, dass die Transaktion /single-product ganz oben auf der Liste der langsamsten Transaktionen steht, mit einer maximalen Dauer von über 5 Sekunden und einer durchschnittlichen Dauer von über 2 Sekunden.

Wähle die Einzelprodukttransaktion an der Spitze der Liste der langsamsten Transaktionen in APM.
Wähle die Einzelprodukttransaktion an der Spitze der Liste der langsamsten Transaktionen in APM.

Wenn du auf diese Transaktion klickst, öffnet sich das Transaktionsmuster-Modal/Pop-up, in dem wir die langsamste Transaktion (die erste in der Liste) auswählen können, um weitere Details zu sehen.

Wähle die langsamste Probe in der Liste der Transaktionsproben aus.
Wähle die langsamste Probe in der Liste der Transaktionsproben aus.

Dies führt uns zur Zeitleiste der Transaktionsverfolgung, wo wir die Transaktionen nach Dauer (Zeit) sortieren können, um zu sehen, welche Prozesse in dieser Transaktionsprobe am langsamsten sind. Hier sehen wir, dass update_card_payment der langsamste Prozess in der Zeitleiste ist, der 5.002,21 ms einer 5.535,61 ms langen Transaktion beansprucht.

Der update_card_payment span nimmt 5.002,21 ms der Transaktion in Anspruch.
Der update_card_payment span nimmt 5.002,21 ms der Transaktion in Anspruch.

Wenn du auf diesen Span klickst, öffnet sich das Modal/Pop-up für die Span-Details und enthält den Stack-Trace des Spans.

Anzeige der Span-Details, einschließlich des Stack Trace.
Anzeige der Span-Details, einschließlich des Stack Trace.

In den Details des Spans können wir sehen, dass der WordPress-Hook action:woocommerce_add_to_cart mit diesem Span verbunden ist.

Es gibt mehrere Möglichkeiten, um herauszufinden, mit welchem Plugin oder Theme er verknüpft ist.

Wenn du dich mit der Kommandozeile auskennst, kannst du den Befehl grep verwenden, um nach der Funktion update_card_payment zu suchen und zu sehen, welche Plugin- oder Themendateien diese Funktion enthalten.

Alternativ kannst du auf der WordPress-Registerkarte unter Überwachungsergebnisse nach einem Plugin suchen, das eine ähnliche Gesamtdauer und maximale Dauer hat. Es wird wahrscheinlich ganz oben auf der Liste stehen.

Die langsamsten WordPress-Plugins siehst du auf der WordPress-Registerkarte in den Überwachungsergebnissen.
Die langsamsten WordPress-Plugins siehst du auf der WordPress-Registerkarte in den Überwachungsergebnissen.

Du kannst die Übereinstimmung bestätigen, indem du das Plugin in der Liste der langsamsten WordPress-Plugins auswählst. Wenn das Plugin nicht in der Spalte WordPress-Plugin im Modal/Pop-up der Transaktionsmuster aufgeführt ist, wähle das langsamste Transaktionsmuster aus, um die Zeitleiste der Transaktionsverfolgung anzuzeigen.

Wähle das langsamste Transaktionsbeispiel aus, um die Zeitleiste der Transaktionsverfolgung anzuzeigen.
Wähle das langsamste Transaktionsbeispiel aus, um die Zeitleiste der Transaktionsverfolgung anzuzeigen.

Sortiere die Zeitleiste nach Dauer und achte darauf, dass der gleiche Funktionsname (z.B. update_card_payment) in der Liste ganz oben steht.

Sortiere die Zeitleiste nach Dauer und achte auf den Funktionsnamen in der Spalte Spans.
Sortiere die Zeitleiste nach Dauer und achte auf den Funktionsnamen in der Spalte Spans.

Untersuche durchgängige Langsamkeit

Durchgängige Langsamkeit einer Webseite wird oft durch ein Plugin verursacht und ist einer der ersten Punkte, die du überprüfen solltest. Wenn ein Plugin die Ursache für die Langsamkeit deiner Webseite ist, kannst du das in der Regel über die Registerkarte WordPress herausfinden(WordPress Seiten > Seitenname > APM > WordPress). Auf dem Screenshot unten siehst du, dass der Prozentsatz der Gesamtdauer des hervorgehobenen Plugins bei über 98 % liegt und dass die maximale und durchschnittliche Dauer ziemlich hoch sind.

Die prozentuale Gesamtdauer, die maximale Dauer und die durchschnittliche Dauer eines Plugins anzeigen
Die prozentuale Gesamtdauer, die maximale Dauer und die durchschnittliche Dauer eines Plugins anzeigen

Das deutet darauf hin, dass dieses Plugin höchstwahrscheinlich die Ursache für die Langsamkeit der Webseite ist. Um das zu bestätigen, kannst du das Plugin deaktivieren, die Leistung der Webseite beobachten und die Ergebnisse im APM-Tool noch einmal überprüfen, nachdem du genügend Daten gesammelt hast. Wenn du dir sicher bist, dass das Plugin richtig konfiguriert ist, aber deine Webseite weiterhin langsam ist, empfehlen wir dir, den Plugin-Entwickler zu kontaktieren, um das Problem gemeinsam mit ihm zu lösen.

Intermittierende Probleme mit Drittanbietern aufspüren

Externe Anfragen sind HTTP-Anfragen, die von der Webseite an einen anderen (fremden) Server gestellt werden. Plugins oder Themes stellen diese Anfragen normalerweise zum Laden von Skripten oder Stylesheets oder zur Kommunikation mit einer API.

Bei der Fehlerbehebung eines möglichen externen Problems ist es wichtig zu wissen, dass das APM-Tool langsame externe Transaktionen auf der Serverseite aufzeichnet. Viele externe Anfragen können von einer Webseite auf der Client-Seite gestellt werden, die vom APM-Tool nicht aufgezeichnet werden würden. Um externe Anfragen auf der Client-Seite zu untersuchen, musst du ein Tool wie GTmetrix oder die Entwicklungswerkzeuge deines Browsers verwenden.

Um langsame externe Anfragen zu sehen, gehst du auf die Registerkarte Extern unter Überwachungsergebnisse, um die langsamsten externen Anfragen zu sehen. In diesem Beispiel haben wir festgestellt, dass das Hochladen von Bildern in der Mediathek etwas langsamer ist, da einige Uploads 5 Minuten oder länger dauern.

Sehen wir uns zunächst an, wie die externen Anfragen aussehen, wenn wir nichts weiter tun, als uns im WordPress-Dashboard anzumelden. Vor dem Hochladen von Bildern in die Mediathek sind die POST Anfragen an wp-cron mit 273,78 ms maximaler Dauer und 1.957,81 ms Gesamtdauer die langsamsten Anfragen.

Langsamste externe Anfragen im APM
Langsamste externe Anfragen im APM

Wenn wir mehrere Bilder mit einer Größe von 3 MB bis 17 MB hochladen, dauert es mehrere Minuten, bis diese fertig hochgeladen sind. Wenn wir uns die externen Anfragen noch einmal ansehen, sehen wir, dass die POST Anfragen an smushpro.wpmudev.com die langsamsten externen Anfragen sind, mit einer maximalen Dauer von 1.703,14 ms und einer Gesamtdauer von 82.710,85 ms.

Die langsamsten externen Anfragen wurden nach dem Hochladen und Optimieren der Bilder aktualisiert.
Die langsamsten externen Anfragen wurden nach dem Hochladen und Optimieren der Bilder aktualisiert.

Wenn du auf diese Transaktion klickst, öffnet sich das Transaktionsmuster-Modal/Pop-up, in dem wir die langsamste Transaktion (die erste in der Liste) auswählen können, um weitere Details zu sehen.

Wähle das langsamste Transaktionsbeispiel bei den externen Anfragen
Wähle das langsamste Transaktionsbeispiel bei den externen Anfragen

Dies bringt uns zur Zeitleiste der Transaktionsverfolgung, wo wir die Transaktionen nach Dauer (Zeit) sortieren können, um zu sehen, welche Zeitspannen am langsamsten sind. Hier sehen wir, dass mehrere POST Anfragen an smushpro.wpmudev.com die langsamsten in dieser Stichprobe sind, wobei die Summe dieser POST Anfragen 6.712,64 ms einer 7.168,58 ms Transaktion beansprucht.

Alle Anfragen an smushpro.wpmudev.com in einer Transaktions-Trace-Zeitleiste
Alle Anfragen an smushpro.wpmudev.com in einer Transaktions-Trace-Zeitleiste

Wir können auch feststellen, dass die Dauer der einzelnen Anfragen sehr unterschiedlich ist: Die kürzeste Anfrage dauert nur 138,2 ms und die längste 1.703,14 ms. Während das Smush-Plugin also unsere Bilder optimiert, löst jedes dieser Bilder eine externe Anfrage aus, was sich summiert und die Webseite verlangsamen kann.

Wenn wir unsere Bilder vor dem Hochladen optimieren würden, anstatt uns auf ein Plugin für die Bildoptimierung zu verlassen, könnten wir unsere externen Anfragen deutlich reduzieren. Dies ist einer der Fälle, in denen wir entscheiden müssen, was wichtiger ist: Bequemlichkeit oder Leistung der Webseite. Wir können das Plugin beibehalten, wenn wir mit der notwendigen Verlangsamung durch die externen Anfragen einverstanden sind. Wenn wir die Leistung unserer Webseite verbessern wollen oder müssen, ist es am besten, das Plugin zu entfernen und unsere Bilder vor dem Hochladen zu optimieren.

Zusammenfassung

Mit den Strategien aus den obigen Beispielen kannst du das Kinsta’s APM-Tool nutzen, um Leistungsprobleme auf deiner Webseite zu beheben. Jede Situation und jede Webseite ist anders, aber du kannst die hier beschriebenen allgemeinen Methoden zur Fehlerbehebung anwenden, um dich oder deinen Entwickler bei der Suche nach Leistungsproblemen auf deiner Webseite zu unterstützen.