Das APM-Tool von Kinsta

Das APM-Tool von Kinsta hilft dir, PHP-Performance-Engpässe auf deiner WordPress-Website zu identifizieren, ohne dass du dich für Monitoring-Dienste von Drittanbietern wie New Relic anmelden musst.

Das APM-Tool ist in allen Tarifen kostenlos verfügbar und kann bei der Fehlersuche auf deiner Website sehr nützlich sein. Das APM-Tool erfasst mit Zeitstempeln versehene Informationen über die PHP-Prozesse deiner WordPress-Website, MySQL-Datenbankabfragen, externe HTTP-Aufrufe und mehr.

Mit den APM-Daten kannst du langsamen Seitenaufrufen auf den Grund gehen, um die Ursache des Problems zu finden. Weitere Details zur Lösung von Leistungsproblemen bei bestimmten Website-Typen mit dem APM-Tool findest du in diesen Anleitungen:

Das APM-Tool von Kinsta wurde speziell für die Überwachung von WordPress-Websites entwickelt. Wenn du es zur Überwachung einer Website mit einem anderen CMS oder Framework verwendest, kann dies zu ungenauen Ergebnissen führen. Wir empfehlen daher, es nur für WordPress-Websites zu verwenden.

Terminologie des APM-Tools

Bevor wir uns mit der Verwendung des APM-Tools beschäftigen, wollen wir einige wichtige Begriffe definieren, die wir später verwenden werden.

APM

APM, kurz für „Application Performance Monitoring“, ist ein Tool, das dir Einblick in die Leistungsstatistiken und Trends einer Anwendung gibt. Das APM-Tool von Kinsta liefert dir verwertbare Daten über die Leistung deiner WordPress-Website.

Anfrage

Im Zusammenhang mit dem APM-Tool bezieht sich eine Anfrage auf einen Besuch auf deiner WordPress-Website, der die Ausführung von PHP erfordert. Eine Anfrage-URL kann verschiedene Query-String-Parameter enthalten und löst eine entsprechende Transaktion aus.

Zum Beispiel würde eine Anfrage an yourdomain.com/wp-cron.php?arg=1&arg2=2 eine Transaktion /wp-cron.php auslösen.

Transaktion

Eine Transaktion bezieht sich auf die Backend-Aktivität, die stattfindet, um eine Anfrage an deine WordPress-Website zu senden. Die Transaktion für eine Anfrage an /wp-login.php enthält z. B. die einzelnen PHP-Prozesse, die die Anmeldeseite deiner WordPress-Website erzeugen.

Span

Ein Span bezieht sich auf einen einzelnen Prozess in einer Transaktion. Eine einzelne Transaktion kann aus Hunderten von Spans bestehen, die hierarchisch angeordnet sind.

Eine Transaktion, die eine Kontoseite für einen WooCommerce-Kunden erstellt, kann zum Beispiel aus einem Span bestehen, der sich in mehrere Datenbankabfrage-Spans aufteilt.

Transaktionsstichprobe

Eine Transaktionsstichprobe ist eine ausgewählte Instanz aus vielen Anfragen an einen bestimmten Transaktionsendpunkt (z.B. /single.php, /wp-cron.php, etc.). Im APM-Tool kannst du aus drei Stichproben wählen.

Das APM-Tool kann zum Beispiel Dutzende von /wp-cron.php Transaktionen aufzeichnen. In diesem Fall wählt das APM-Tool die langsamste Transaktion aus und nennt sie ein Transaktionsstichprobe.

Transaktionsspur

Ein Transaktions-Trace ist eine vollständige Zeitleiste aller Prozesse, die in einer Transaktionsstichprobe aufgetreten sind. In unserem APM-Tool wird eine Transaktionsspur durch eine Liste von Spans mit der entsprechenden Dauer und Zeitstempelinformation dargestellt.

Transaktions-Trace-Zeitleiste für eine Transaktionsstichprobe
Transaktions-Trace-Zeitleiste für eine Transaktionsstichprobe

Stack Trace

Ein Stack Trace ist eine detaillierte Prozessaufschlüsselung für eine einzelne Spanne. Stack Traces sind nützlich für eine tiefgreifende Fehlersuche. Sie enthalten sehr detaillierte Informationen über den PHP-Code, der ausgeführt wurde, bis hin zu einer bestimmten PHP-Datei und Codezeile.

Ein Stack-Trace für einen Span
Ein Stack-Trace für einen Span

Aktiviere das APM-Tool von Kinsta

In der Standardeinstellung ist das APM-Tool deaktiviert. Da das APM-Tool zusätzliche Server-Ressourcen benötigt, empfehlen wir, es nur zu aktivieren, wenn du aktiv ein Leistungsproblem auf deiner WordPress-Website behebst.

Um das APM-Tool zu aktivieren, logge dich in MyKinsta ein, wähle die Website aus, die du überwachen möchtest, navigiere zur Registerkarte APM deiner Website und klicke auf die Schaltfläche APM aktivieren.

Klicke auf die Schaltfläche APM aktivieren, um das Application Performance Monitoring in MyKinsta zu aktivieren
Klicke auf die Schaltfläche APM aktivieren, um das Application Performance Monitoring in MyKinsta zu aktivieren

Als Nächstes wählst du eine Überwachungsdauer für das APM aus. Du kannst zwischen 2 Stunden, 4 Stunden, 12 Stunden und 24 Stunden wählen. Da die APM die Leistung deiner Website beeinträchtigen kann, empfehlen wir nicht, sie über einen längeren Zeitraum aktiviert zu lassen. Sobald du eine Überwachungsdauer ausgewählt hast, klicke auf Überwachungszeit aktivieren, um die APM zu starten.

Wähle die APM-Überwachungszeit und aktiviere sie
Wähle die APM-Überwachungszeit und aktiviere sie

Gib dem Tool 5-10 Minuten Zeit, um mit dem Sammeln von Daten zu beginnen, die du dann auf der Registerkarte APM einsehen kannst.

Nach Ablauf der Überwachungszeit wird APM automatisch deaktiviert. Wenn du die Überwachung vorzeitig abschalten möchtest, klicke auf das Kebab-Menü (drei Punkte) und wähle Deaktivieren aus dem Dropdown-Menü.

Deaktiviere die Überwachung der Anwendungsleistung in MyKinsta
Deaktiviere die Überwachung der Anwendungsleistung in MyKinsta

Wähle einen Überwachungsdaten-Zeitrahmen

Standardmäßig zeigt das APM-Tool Überwachungsdaten der letzten 60 Minuten an. Der Zeitrahmen für die Daten ist jedoch anpassbar, und du kannst zwischen den folgenden Optionen wählen.

  • 30 Minuten
  • 60 Minuten
  • 2 Stunden
  • 4 Stunden
  • 12 Stunden
  • 24 Stunden

Um diese Einstellung zu ändern, klickst du auf die Schaltfläche „Zeitrahmen“ oben rechts auf der APM-Seite und wählst in dem daraufhin angezeigten Modal/Pop-up eine Option aus. Klicke auf die Schaltfläche Zeitrahmen anwenden, um den neuen Zeitrahmen festzulegen.

Ändere den Zeitrahmen für die APM-Überwachungsdaten
Ändere den Zeitrahmen für die APM-Überwachungsdaten

Aktualisiere die Überwachungsdaten

Das APM-Tool von Kinsta zeigt die Leistungsüberwachungsdaten basierend auf dem eingestellten Zeitrahmen an (z.B. die letzten 30 Minuten, die letzten 60 Minuten, usw.). Um Verwirrung zu vermeiden, aktualisiert das APM-Tool die Daten nicht automatisch. Um das APM-Tool zu aktualisieren und die neuesten Daten des ausgewählten Zeitrahmens anzuzeigen, klicke auf das Aktualisierungssymbol neben der Schaltfläche für den Zeitrahmen.

Klicke auf das Aktualisierungssymbol, um die Kinsta APM-Überwachungsdaten zu aktualisieren
Klicke auf das Aktualisierungssymbol, um die Kinsta APM-Überwachungsdaten zu aktualisieren

Einblicke in das APM-Tool lesen

Da die Datenprotokollierung erst beginnt, nachdem das APM-Tool aktiviert wurde, musst du ihm etwas Zeit geben, um Leistungsdaten für deine Website zu sammeln. Wir empfehlen, 5-10 Minuten zu warten, bevor du dir die Überwachungsdaten ansiehst.

Danach findest du die wichtigsten Informationen auf den Registerkarten Transaktionen, WordPress, Datenbank und Extern, die wir im Folgenden genauer betrachten.

Kinsta APM-Daten: Vorgänge, WordPress, Datenbank und Extern
Kinsta APM-Daten: Vorgänge, WordPress, Datenbank und Extern

Auf jeder Registerkarte gibt es einige Spalten, die du siehst:

  1. Gesamtdauer (%): Der prozentuale Anteil der Zeit, die alle Anfragen an einen Transaktionsendpunkt innerhalb des ausgewählten Zeitraums verbraucht haben, bezogen auf die Gesamtdauer. Die prozentuale Dauer wird mit den Werten für die Gesamtdauer berechnet (die Summe der Dauer aller Anfragen an einen bestimmten Endpunkt), sie gibt also nicht die Dauer einer einzelnen Transaktionsstichprobe wieder.
  2. Gesamtdauer: Die Gesamtzeit, die ein Transaktionsendpunkt innerhalb des ausgewählten Zeitrahmens verbraucht hat. Beachte, dass sich die Dauer auf die Summe der Dauer aller Anfragen an einen bestimmten Endpunkt bezieht und nicht die Dauer eines einzelnen Transaktionsbeispiels darstellt.
  3. Maximale Dauer: Die langsamste Dauer einer Transaktionsstichprobe innerhalb des ausgewählten Zeitrahmens.
  4. Avg. Dauer: Die durchschnittliche Dauer aller Transaktionsstichproben aus dem ausgewählten Zeitrahmen.
  5. Rate pro Min: Wie oft eine Transaktion im ausgewählten Zeitrahmen durchschnittlich pro Minute ausgeführt wurde.

Wenn du durch die Daten navigierst, siehst du auch diese allgemeinen Datendetails:

Transaktionsbeispiele

Wenn du auf eine Transaktion klickst, wird ein Modal mit bis zu drei Transaktionsbeispielen aus dem ausgewählten Zeitrahmen angezeigt.

  1. Langsamste Probe: Die langsamste Transaktionsstichprobe.
  2. 95. Perzentil: Eine Transaktion im 95. Perzentil (95% der Transaktionen sind schneller als diese Transaktionsstichprobe).
  3. 50. Perzentil: Eine Transaktion im 50. Perzentil (50 % der Transaktionen sind schneller als diese Transaktionsstichprobe), auch als Median bezeichnet. Du kannst dir das als typische Dauer vorstellen, denn es gibt genau so viele langsamere und schnellere Stichproben wie diese.
Das Transaktionsstichproben-Modal im APM-Tool
Das Transaktionsstichproben-Modal im APM-Tool

Du kannst ein, zwei oder drei Samples sehen. Ein und dieselbe Transaktion kann zum Beispiel die langsamste und die 95-prozentigste Transaktion sein.

Das Transaktionsmuster-Modal/Pop-up zeigt außerdem nützliche Informationen zu jedem Transaktionsmuster an, darunter den Zeitstempel, den Endpunkt der Transaktion, die Anfrage-URL und die Dauer.

Einzelne Transaktionsstichprobe

Wenn du im Modal auf eine Transaktionsstichprobe klickst, wirst du auf eine spezielle Seite für die ausgewählte Stichprobe weitergeleitet. Diese Seite enthält den Zeitstempel, den Endpunkt der Transaktion, die URL, die Dauer, den HTTP-Statuscode und eine vollständige Zeitleiste des Transaktionsverlaufs.

Transaktionsbeispiel mit Trace-Timeline in Kinstas APM
Transaktionsbeispiel mit Trace-Timeline in Kinstas APM
  1. Zeitstempel: Das Datum und die Uhrzeit des Transaktionsbeispiels.
  2. Transaktion: Der PHP-Endpunkt des Transaktionsbeispiels (z.B. /wp-cron.php, /single.php, etc.).
  3. URL: Die spezifische URL des Transaktionsbeispiels.
  4. Dauer: Die Dauer des Transaktionsbeispiels in Millisekunden.
  5. Ergebnis: Der HTTP-Statuscode der Transaktion. Wenn du ein „HTTP 200„-Ergebnis siehst, bedeutet das, dass die Transaktion langsam, aber letztendlich erfolgreich war. Wenn du jedoch ein „HTTP 503„-Ergebnis siehst, kann das bedeuten, dass die Transaktion abgebrochen wurde.

Jedes Transaktionsbeispiel hat einen eigenen Permalink oder eine eindeutige URL. Das macht es einfach, auf ein bestimmtes Transaktionsbeispiel zu verweisen und es mit deinen Kollegen, einem Entwickler oder dem Kinsta-Support-Team zu teilen. Hinweis: Dein Kollege oder Entwickler muss Zugriff auf die Website in MyKinsta haben, um das Transaktionsbeispiel ansehen zu können.

Transaktionsbeispiel Permalink
Transaktionsbeispiel Permalink

Zeitleiste der Transaktionsverfolgung

Zusätzlich zu den grundlegenden Transaktionsinformationen bietet dir das APM-Tool auch eine detailliertere Zeitleiste für die Transaktionsverfolgung. In der Zeitleiste der Transaktionsverfolgung siehst du eine schrittweise Darstellung der Spans – PHP-Prozesse, MySQL-Datenbankabfragen und externe Aufrufe für ein bestimmtes Transaktionsbeispiel.

Du kannst die Spans nach Dauer (Zeit) oder Dauer (% ) in aufsteigender oder absteigender Reihenfolge sortieren, indem du auf den Spaltennamen klickst. Dies ist nützlich, um die am längsten benötigenden Transaktionen schnell zu identifizieren.

Zu jedem Span gehören auch die Dauer und der relative Zeitstempel, sodass du den längsten und problematischsten Teil der Anfrage schnell identifizieren kannst.

Relativ zur Gesamtdauer des Transaktionsbeispiels:

  • Spans mit einer Dauer von mehr als 5 % werden orange dargestellt
  • Abschnitte mit einer Dauer von mehr als 25 % sind rot dargestellt

Diese Hervorhebungen beziehen sich immer auf die relative Dauer der Spanne im Kontext der eigenen Stichprobe. Wenn du also etwas Rotes siehst, solltest du bedenken, dass es sich immer auf das jeweilige Beispiel bezieht (und deine Website oder Webanwendung nicht unbedingt insgesamt langsam ist).

Beachte, dass wir bei MySQL- und Redis-Abfragen keine Zeitspannen von weniger als 0,001 ms berücksichtigen. Für nicht-datenbankbezogene Spans liegt die Schwelle bei 1 ms. Wir schließen absichtlich kurze Zeitspannen aus, weil die Aufzeichnung einer großen Anzahl schneller Elemente die Leistung deiner Website beeinträchtigen kann und keine sehr nützlichen Daten liefert.

Zeitleiste der Transaktionsverfolgung für ein Transaktionsbeispiel
Zeitleiste der Transaktionsverfolgung für ein Transaktionsbeispiel

Diese detaillierte Trace-Timeline ist sehr nützlich für die Fehlerbehebung bei Leistungsproblemen, da sie dir hilft, den Engpass genau zu bestimmen.

Du könntest zum Beispiel feststellen, dass die Langsamkeit bei der Abfrage von /wp-admin/admin-ajax.php durch lange API-Anfragen an die APIs der sozialen Netzwerke verursacht wird. Mit diesem Wissen kannst du deine Website mit deaktiviertem Social Plugin weiter testen, um zu sehen, ob es einen Unterschied macht.

Ähnlich verhält es sich, wenn du eine langsame Transaktion auf /wp-cron.php feststellst, die wiederholte HTTP-Anfragen enthält, die von einem Cache-Preloading-Plugin ausgelöst werden.

Bereichsdetails

Wenn du in der Zeitleiste der Transaktionsverfolgung auf einen Bereich klickst, kannst du eine detaillierte Übersicht mit einem vollständigen Stack-Trace und zugehörigen Informationen sehen.

Wenn du zum Beispiel auf eine MySQL-Abfrage klickst, siehst du die Datenbankabfrage, die zusammen mit dem Stack-Trace ausgeführt wurde. Wenn du dir die Details der Spans ansiehst, erhältst du einen tieferen Einblick in die PHP-Transaktionen auf deiner WordPress-Seite.

Spandetails in der Zeitleiste des Transaktions-Trace
Spandetails in der Zeitleiste des Transaktions-Trace

Weitere Beispiele dafür, wie du die Daten des APM-Tools lesen und nutzen kannst, findest du in unserem Leitfaden über die Nutzung des APM-Tools von Kinsta zur Diagnose von Leistungsproblemen.

Ergebnisse überwachen

Auf jeder der Registerkarten auf der APM-Seite kannst du spezifische Daten für Transaktionen, WordPress, Datenbank und externe Anfragen einsehen.

Transaktionen

Auf dieser Registerkarte findest du Daten zur Gesamttransaktionszeit und zu den langsamsten Transaktionen.

Gesamttransaktionszeit

Das Balkendiagramm Gesamttransaktionszeit zeigt dir eine visuelle Darstellung der Transaktionszeitdaten für den ausgewählten Zeitraum. Jeder Balken besteht aus einer mehrfarbigen Aufschlüsselung der PHP-, MySQL-, Redis- und externen Transaktionszeiten. Das Diagramm der Gesamttransaktionszeit zeigt außerdem in der oberen rechten Ecke die durchschnittliche Transaktionszeit des ausgewählten Zeitraums an.

APM-Balkendiagramm Gesamttransaktionszeit
APM-Balkendiagramm Gesamttransaktionszeit

Langsamste Transaktionen

Die zehn langsamsten PHP-Transaktionen werden im Abschnitt Langsamste Transaktionen unterhalb des Balkendiagramms „Gesamte Transaktionszeit“ angezeigt. Zusätzlich zu den üblichen Spalten ist die erste Spalte dieser Daten die Transaktionsspalte, in der der Transaktionsendpunkt der langsamsten Anfragen angezeigt wird, die die meiste PHP-Zeit verbraucht haben (z.B. /wp-cron.php, /wp-json, etc.).

Die langsamsten Transaktionen im APM-Tool
Die langsamsten Transaktionen im APM-Tool

Du kannst auf jeden Transaktionsendpunkt klicken, um die Transaktionsbeispiele zu sehen und weiter zu den einzelnen Transaktionsbeispielen, der Trace-Timeline, den Spandetails und dem Stacktrace zu navigieren.

WordPress

Auf der Registerkarte WordPress findest du Daten zu den WordPress-Plugins und Hooks.

Die langsamsten WordPress-Plugins

Die langsamsten aufgezeichneten Plugins werden oben aufgelistet, wobei der Slug (Ordner-/Verzeichnisname) des Plugins in der ersten Spalte steht und dann die restlichen Spalten mit den allgemeinen Daten folgen. Du kannst auf jeden Plugin-Slug klicken, um die Transaktionsbeispiele zu sehen und weiter zu den einzelnen Transaktionsbeispielen, der Trace-Zeitleiste, den Spandetails und dem Stack-Trace zu navigieren.

Langsamste WordPress Hooks

Unter der Liste der langsamsten WordPress-Plugins findest du die Liste der langsamsten WordPress-Hooks. WordPress Hooks sind Funktionen in Themes oder Plugins, die es dir ermöglichen, WordPress an bestimmten Stellen in der Verarbeitung des Codes zu verändern.

Ein Hook ist entweder eine Aktion oder ein Filter, und den Hooks in dieser Liste wird ihr Typ (Aktion oder Filter) vorangestellt, gefolgt vom Funktionsnamen. Wenn du auf einen Hook klickst, werden die Transaktionsbeispiele angezeigt, in denen du weiter zu den einzelnen Transaktionsbeispielen, der Zeitleiste, den Spandetails und dem Stack Trace navigieren kannst.

Datenbank

Auf dieser Registerkarte werden die Daten für die langsamsten Datenbankabfragen und die langsamsten Redis-Cache-Transaktionen angezeigt (wenn Redis aktiviert ist).

Langsamste Datenbankabfragen

Die 10 langsamsten Datenbankabfragen werden im Abschnitt Langsamste Datenbankabfragen angezeigt. Wenn du auf eine Abfrage klickst, werden die Transaktionsbeispiele angezeigt. Dort kannst du zu jedem einzelnen Transaktionsbeispiel, der Trace-Zeitleiste, den Spandetails und dem Stack Trace navigieren.

Langsamster Redis-Cache

Für Websites mit dem Redis-Add-on findest du in diesem Abschnitt Details zum Redis-Cache. Wenn auf deiner Website das Redis-Add-on nicht installiert ist, werden keine Daten angezeigt. Wenn du auf ein Cache-Element klickst, werden die Transaktionsbeispiele angezeigt. Dort kannst du zu jedem einzelnen Transaktionsbeispiel, der Trace-Zeitleiste, den Spandetails und dem Stack Trace navigieren.

Extern

Daten für alle externen Anfragen, die deine Website stellt, findest du auf der Registerkarte Extern. Externe Anfragen sind HTTP-Anfragen, die von deiner Website an eine andere Website oder einen anderen Server gestellt werden. Diese Anfragen werden normalerweise von Plugins oder Themes zum Abrufen oder Senden von Daten oder zur Kommunikation mit einer API gestellt.

Hinter jeder URL in der ersten Spalte der Liste steht die HTTP-Methode, die für die Anfrage verwendet wird (GET, POST, PUT usw.). Wenn du auf eine Anfrage-URL klickst, werden die Transaktionsbeispiele angezeigt, in denen du weiter zu den einzelnen Transaktionsbeispielen, der Zeitleiste, den Spandetails und dem Stack Trace navigieren kannst.

Performance-Probleme diagnostizieren

Das APM-Tool von Kinsta ist ein leistungsfähiges Werkzeug für die Fehlersuche auf deiner Website. In diesem Artikel zeigen wir dir verschiedene Szenarien für die Fehlersuche bei Performance-Problemen auf einer Website, die mit dem APM-Tool untersucht und analysiert werden.

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 nicht gerade auftritt. Achte auf Muster, wann das Problem auftritt oder ob bestimmte Aktionen das Problem auszulösen scheinen (z. B. Bearbeiten einer Seite, Hinzufügen eines Produkts zu einem Warenkorb, Hochladen von Bildern usw.).
  2. Aktiviere das APM-Tool in MyKinsta und gib ihm ein paar Minuten Zeit, um mit der Datenerfassung zu beginnen. 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 neu, um die notwendigen Informationen aufzuzeichnen.
  4. Wenn Redis auf deiner Website 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 APM-Tool von Kinsta nicht erfassen und anzeigen können.

Analysiere langsam ladende Seiten oder Aktionen

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

Nachdem wir ein paar Produkte in den Warenkorb gelegt haben, sehen wir uns die Ergebnisse im APM an (WordPress Websites > seitenname > APM) und sehen, dass die Transaktion /single-product mit einer maximalen Dauer von über 5 Sekunden und einer durchschnittlichen Dauer von über 2 Sekunden ganz oben auf der Liste der langsamsten Transaktionen steht.

Wähle die Einzelprodukt-Transaktion an der Spitze der Liste der langsamsten Transaktionen im APM aus
Wähle die Einzelprodukt-Transaktion an der Spitze der Liste der langsamsten Transaktionen im APM aus

Wenn du auf diese Transaktion klickst, öffnet sich das Transaktionsstichproben-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 Transaktion in der Liste der Transaktionsstichproben aus
Wähle die langsamste Transaktion in der Liste der Transaktionsstichproben aus

Dadurch gelangen wir 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 Prozess update_card_payment nimmt 5.002,21 ms der Transaktion in Anspruch
Der Prozess update_card_payment 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.

Schau dir die Details des Spans an, einschließlich des Stack Trace
Schau dir die Details des Spans an, einschließlich des Stack Trace

Wir können sehen, dass der WordPress-Hook action:woocommerce_add_to_cart mit diesem Span in den Span-Details 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 findest du auf der WordPress-Registerkarte in den Überwachungsergebnissen
Die langsamsten WordPress-Plugins findest 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 die langsamste Transaktionsstichprobe aus, um die Zeitleiste der Transaktionsverfolgung anzuzeigen
Wähle die langsamste Transaktionsstichprobe 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 suche nach dem Funktionsnamen in der Spalte Spans
Sortiere die Zeitleiste nach Dauer und suche nach dem Funktionsnamen in der Spalte Spans

Untersuche die allgemeine Langsamkeit

Die allgemeine Langsamkeit einer Website wird oft durch ein Plugin verursacht und ist einer der ersten Punkte, die du überprüfen solltest. Wenn ein Plugin für die Verlangsamung deiner Website verantwortlich ist, kannst du dies in der Regel über die Registerkarte WordPress feststellen (WordPress Websites > seitenname > APM > WordPress). Auf dem Screenshot unten siehst du, dass der Prozentsatz der Gesamtdauer des markierten Plugins bei über 98 % liegt und dass die maximale und durchschnittliche Dauer ziemlich hoch sind.

Anzeige der prozentualen Gesamtdauer, der maximalen Dauer und der durchschnittlichen Dauer eines Plugins
Anzeige der prozentualen Gesamtdauer, der maximalen Dauer und der durchschnittlichen Dauer eines Plugins

Das deutet darauf hin, dass dieses Plugin höchstwahrscheinlich die Ursache für die Langsamkeit der Website ist. Um dies zu bestätigen, kannst du das Plugin deaktivieren, die Leistung der Website beobachten und die Ergebnisse im APM-Tool erneut überprüfen, nachdem du genügend Daten gesammelt hast. Wenn du dir sicher bist, dass das Plugin richtig konfiguriert ist, aber deine Website 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 Website 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 Website 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 Transaktionsstichproben-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 Transaktionsstichprobe in den externen Anfragen
Wähle die langsamste Transaktionsstichprobe in den externen Anfragen

Dies führt 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.

Anzeige aller Anfragen an smushpro.wpmudev.com in einer Transaktionsübersicht
Anzeige aller Anfragen an smushpro.wpmudev.com in einer Transaktionsübersicht

Wir können auch feststellen, dass die Dauer der einzelnen Anfragen sehr unterschiedlich ist: Die kürzeste Anfrage dauerte 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 Website 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 Website. Wir können das Plugin beibehalten, wenn wir mit der notwendigen Verlangsamung durch die externen Anfragen einverstanden sind. Wenn wir die Leistung unserer Website verbessern wollen oder müssen, ist es am besten, das Plugin zu entfernen und unsere Bilder vor dem Hochladen zu optimieren.

APM FAQ

Wir haben einige häufig gestellte Fragen zu APM zusammengestellt und beantworten sie im Folgenden.

Wie kann ich Kinstas APM aktivieren?

Kinstas APM ist bei allen Tarifen ohne zusätzliche Kosten verfügbar. Um es zu aktivieren, musst du:

  1. Melde dich bei MyKinsta an.
  2. Wähle die Website aus, die du debuggen möchtest.
  3. Klicke auf die Registerkarte Überwachung.
  4. Klicke auf die Schaltfläche APM aktivieren, um das APM-Tool zu starten.

Wird das APM meine WordPress-Website verlangsamen?

Wie bei anderen APM-Tools auch, kann der APM-Agent von Kinsta die CPU- und RAM-Ressourcen deines Servers zusätzlich belasten und deine WordPress-Website möglicherweise für eine begrenzte Zeit verlangsamen.

Wir empfehlen daher, den APM-Agent nur dann zu aktivieren, wenn du aktiv ein Performance-Problem auf deiner Seite diagnostizierst.

Unterstützt Kinsta weiterhin das persönliche New Relic-Monitoring für Kunden mit persönlichen New Relic-Lizenzen?

Ja, Kinsta-Websites unterstützen weiterhin das New Relic-Monitoring für Kunden mit persönlichen Lizenzen.

Ist es möglich, Kinsta APM und New Relic gleichzeitig zu nutzen?

Wir empfehlen nicht, Kinstas APM und New Relic gleichzeitig für das Monitoring zu nutzen. Es ist jedoch in Ordnung, zwischen APM und New Relic zu wechseln, solange nicht beide Tools gleichzeitig aktiv sind.

Ist der APM mit anderen CMS-Plattformen und Frameworks kompatibel? Ist der APM mit anderen CMS-Plattformen und -Frameworks kompatibel?

Zurzeit ist der APM nur mit WordPress vollständig kompatibel.

Funktioniert der APM mit Bedrock (oder anderen Websites, die den Composer verwenden)?

Ja, aber wenn WP-CLI eine Abhängigkeit in der composer.json-Datei deiner Website ist, musst du eine Konfiguration hinzufügen, damit der Autoloader von Kinsta mit dem WP-CLI-Autoloader zusammenarbeiten kann:

"prepend-autoloader": false

Hier ist ein Beispiel für ein Konfigurationsarray von einer Bedrock-Site, nachdem du die Prepend-Konfiguration hinzugefügt hast:

"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"prepend-autoloader": false
},

Was ist, wenn ich ein unerwartetes Verhalten auf meiner Seite feststelle, nachdem ich den APM aktiviert habe?

Wir haben bereits umfangreiche Tests mit verschiedenen WordPress-Versionen und einer langen Liste von Plugins durchgeführt. Es kann aber immer noch unbekannte Probleme geben, z. B. eine Plugin-Version oder eine Eigenentwicklung, die nicht mit unserer Monitoring-Lösung kompatibel ist.

Wenn du die Funktion aktivierst, solltest du daher immer überprüfen, ob deine Website einwandfrei funktioniert. Wenn du ein unerwünschtes Verhalten feststellst, deaktiviere die Funktion und lass es uns wissen, damit wir das Problem untersuchen und beheben können.

Wie lange sind die Daten des APM-Tools verfügbar?

Die APM-Daten werden 14 Tage lang aufbewahrt. Wenn du Daten anzeigen möchtest, die älter als 24 Stunden sind, klicke auf die Schaltfläche Zeitrahmen oben rechts auf der APM-Seite, gehe im Modal/Pop-up Zeitrahmen auswählen auf die Registerkarte Absolut, wähle einen 24-Stunden-Zeitrahmen innerhalb der letzten 14 Tage aus und klicke dann auf die Schaltfläche Zeitrahmen anwenden.

Zusammenfassung

Das APM-Tool von Kinsta gibt Aufschluss über Leistungsprobleme auf deiner WordPress-Website. Statt allgemeiner HTTP 502-Fehler oder Timeouts liefert das APM-Tool detaillierte Aufschlüsselungen langsamer Anfragen.

Mit dem APM-Tool von Kinsta kannst du Leistungsprobleme beheben, ohne ein Plugin wie Query Monitor zu installieren oder einen Drittanbieterdienst wie New Relic zu aktivieren.

Wenn du mit einem Entwickler zusammenarbeitest, um Probleme auf deiner WordPress-Website zu beheben, kann das APM-Tool von Kinsta dir auch helfen, Zeit und Geld zu sparen, indem es dir einen Ansatzpunkt bietet.

War dieser Artikel hilfreich?