Diagnose von WordPress-Leistungsproblemen mit New Relic

Was Sie erstellen werden

Dieses Tutorial wird dort fortgesetzt, wo wir bei der Verwendung von New Relic zur Überwachung der WordPress-Leistung aufgehört haben. Hier gebe ich Ihnen einen konzeptionellen Überblick über die Leistung von WordPress und führe Sie durch die Verwendung von New Relic, um die Leistung Ihrer eigenen Website zu überprüfen.

Wenn Sie aus dem Tutorial "Optimierung von WordPress mit Varnish und W3 Total Cache" hierher gekommen sind, haben Sie bereits eine ziemlich gut optimierte WordPress-Grundlage. Wenn nicht, möchten Sie möglicherweise diesen Artikel erneut lesen.

Verwenden eines neuen Relikts mit WordPress

WordPress ist ein leistungsfähiges Open Source-Bloggensystem, das sowohl kleine Einzelblogs als auch größere Websites für große Medienunternehmen unterstützen kann. Um WordPress gut auszuführen und es erfolgreich und kostengünstig zu skalieren, ist es jedoch sehr anspruchsvoll.

Die Leistungsüberwachungsdienste von New Relic bieten eine hervorragende Möglichkeit, um sicherzustellen, dass Ihre WordPress-Konfiguration reibungslos und effizient läuft.

Hinweis: New Relic weist darauf hin, dass seine Dienste am besten zur Optimierung von WordPress auf dedizierten Servern verwendet werden, nicht auf virtuellen oder gemeinsam genutzten Servern, wie sie von vielen Cloud-basierten Anbietern angeboten werden. Wenn Sie WordPress auf einem gemeinsam genutzten Host ausführen, ist New Relic für Sie möglicherweise nicht so nützlich wie für Websites, die auf dedizierten Servern ausgeführt werden.

Wenn Sie mehr über New Relic erfahren möchten, bevor Sie in diesen Performance-Leitfaden einsteigen, bietet Tuts + eine Vielzahl von Artikeln zu ihren Diensten.

Was macht WordPress schnell oder langsam??

Im Jahr 2013 schrieb Frederick Townes, der Schöpfer des kostenlosen W3 Total Cache-Plugins, einen Blogbeitrag für New Relic, in dem die Aspekte der Leistung beschrieben werden, die berücksichtigt werden müssen: WordPress-Leistungsoptimierung mit New Relic. Es ist eine ausgezeichnete Zusammenfassung, die ich besprechen werde.

Townes hebt die Kernbereiche hervor, auf die wir uns konzentrieren müssen:

1. Festplattenleistung. Eine nicht gemeinsam genutzte lokale Festplatte liefert immer die beständigste und zuverlässigste Leistung. Die Verwendung eines Hosts, der SSD-Laufwerke oder Hochgeschwindigkeitsfestplatten anbietet, ist beispielsweise ideal.

2. Der MySQL Query Cache. Der Abfrage-Cache speichert die Ergebnisse für allgemeine Datenbankabfragen und kann die Ergebnisse sofort zurückgeben, ohne sie wiederholt ausführen zu müssen. Townes empfiehlt, MySQLTuner auszuführen, um die Datenbankkonfiguration optimal zu optimieren.

3. Verwendung von Abfragen durch Ihre WordPress-Themes und Plugins. Standardmäßig ist WordPress so konfiguriert, dass es einwandfrei funktioniert. Da wir jedoch Plugins und Designs von Drittanbietern hinzufügen, kann es zu einer Vielzahl von fehlerhaftem Code kommen, der zu Leistungsproblemen führen kann.

4. Dateigröße Ihrer WordPress-Themes und Plugins. Das Reduzieren der Dateigröße und der Anzahl der Dateien (und damit der HTTP-Transaktionen) hat erhebliche Auswirkungen auf die Benutzererfahrung mit Ihrer Site. Leider können nicht alle Cascading Style Sheets (CSS) oder JavaScript (JS) leicht konsolidiert und minimiert werden.

5. PHP optimieren, das ist relativ langsam. Schnellere PHP-Versionen wie HHVM sind in der Zukunft möglicherweise für WordPress geeignet, aber ich habe gelesen, dass es für diese Aufgabe noch nicht stabil ist. In der Zwischenzeit bietet Townes eine Liste mit Vorschlägen an: Reduzieren Sie den Speicherbedarf Ihrer Skripts, verwenden Sie automatisches Laden, verwenden Sie das Speichern, vermeiden Sie Schleifen, verkürzen Sie die Ausführungszeit, reduzieren Sie die Anzahl der geöffneten Dateien, um die Anzahl der Festplatten- und Speicherverbrauch zu reduzieren umfassen und benötigen eher, als include_once und einmalig benötigt.

6. Verwenden der Opcode-Zwischenspeicherung wie APC, ein Open Source Caching-Framework für PHP-Code. Sagt Townes: "APC speichert die interpretierte (ausführbare) Version Ihres Codes im Speicher, damit die entsprechenden Anforderungen nicht erneut interpretiert werden müssen."

"In WordPress 'Objektcache passiert viel Magie. Es gibt verschiedene Objektgruppen, die von WordPress bei der Verarbeitung von Seitenanforderungen generiert werden. Diese Gruppen dienen zahlreichen Zwecken und je nach Verwendung von WordPress ist eine erhebliche Leistungssteigerung zu verzeichnen B. durch dauerhaftes Speichern der Objekte in Memcached- oder APC-Backend-Speichern. "

Der W3 Total Cache von Townes implementiert dies auf Seitencaching-Ebene. Dies ermöglicht Szenarien, in denen Teile einer bestimmten Seite noch von PHP generiert werden können, während größere Teile der Seite, die unverändert sind, zwischengespeichert und nicht neu generiert werden.

"W3TC ermöglicht Ihnen die Auswahl eines anderen Datenspeichers als MySQL wie" memcached ", der für den Hochgeschwindigkeitszugriff von mehreren Anwendungsservern entwickelt wurde. Statt jeder Seitenanforderung, die bereits entsprechende Informationen über den Besucher oder andere dynamische Elemente abrufen muss, MySQL kann jetzt nur die dynamischen Teile Ihrer Vorlagen fokussieren (und darauf abgestimmt sein). "

Townes sagt dazu: "Durch das Fragment-Caching wird die Ausführungszeit um Größenordnungen verkürzt."

7. Seiten-Caching verwenden. Die vorteilhafteste Technik zum Skalieren einer typischen Website ist das Zwischenspeichern von Seiten. Anstatt Ihren gesamten Stack mit jeder Seitenanforderung (WordPress, Theme, Plugins, HTML und MySQL) zu treffen, rufen wir statischen HTML-Code aus dem Webcache ab, häufig aus dem Speicher. Die Verkehrsskalierung auf einer nicht zwischengespeicherten WordPress-Site kann in Sekundenschnelle abnehmen, während die Verkehrsskalierung von bereits geschriebenen HTML-Dateien aus einem Cache im Arbeitsspeicher massiv skalierbar ist.

Townes sagt dazu: "Reverse-Proxies bieten häufig eine Zwischenspeicherung, die sich zwischen der Webanwendung und dem öffentlichen Internet befindet. Ziel ist es, die Belastung der dahinter liegenden Webserver zu verringern. Reverse-Proxys sind für die Rückgabe von Inhalten optimiert, die von der zugrunde liegenden Anwendung generiert werden. Varnish, Nginx oder sogar Apache kann so konfiguriert werden, dass er Reverse-Proxy-Funktionen bietet. " 

Am häufigsten verwende ich Lack mit Apache und W3 Total Cache in Kombination, um WordPress zu skalieren. Wenn Sie an diesen Konfigurationen interessiert sind, überprüfen Sie Folgendes: Optimieren von WordPress mit Lack und W3 Total Cache (Tuts +).

8. Content Delivery Networks (CDNs) sind Cloud-basierte Caching-Services für häufig verwendete Dateien und Medien. Townes sagt: "Bei einem CDN spielt es keine Rolle, wo Ihre Site gehostet wird. Wenn Sie Besucher in anderen Teilen der Welt haben, speichert das CDN den Inhalt in der Nähe und verkürzt die Gesamtladezeit der Seite um Sekunden für Ihre Website. "

Nun, da wir einige der wichtigsten Konzepte kennen, die dafür sorgen, dass WordPress gut läuft, wollen wir uns ansehen, wie New Relic uns helfen kann.

Verwenden von New Relic zur Überwachung von WordPress

New Relic ist ein Leistungsüberwachungsdienst, der mit einer Vielzahl von Server- und Sprachtechnologien, einschließlich PHP, ausgeführt wird und sich daher hervorragend zur Optimierung von WordPress eignet.

New Relic bietet eine Leistungsüberwachung des gesamten Stapels (für Endbenutzer), bietet jedoch auch eine detaillierte Serverüberwachung. Townes sagt dazu: "New Relic macht es einfach, die Vorgänge in Ihrer Umgebung zu verbreiten."

Wenn Sie New Relic auf Ihrem Server ausführen, erhalten Sie detaillierte Diagramme zur Leistungsüberwachung und Statistiken zu Ihrem Server und PHP. Dazu gehören: Antwortzeit, Apdex-Score (Verhältnis zufriedenstellender Antwortzeiten zu unbefriedigenden Antwortzeiten), Durchsatz (Anforderungen pro Minute). , Webtransaktionen, z API-Anforderungen von Drittanbietern, Fehlerrate, aktuelle Ereignisse und Serverinformationen.

Darüber hinaus überwacht New Relic Browser Lebenszyklusdaten ganzer Seiten - weit über die anfängliche Seitenlast hinaus. Für jede Endbenutzerseite wird mit New Relic Browser Folgendes erfasst:

  • Zeit im Frontend (Browser)
  • Code und Ereignisse, die im Browser ausgeführt werden (JavaScript-, Ajax- und Endbenutzerinteraktionen)
  • Zeit im Backend (Netzwerk und Web-App)
  • geografischer Herkunft
  • Browsertyp und -version sowie Betriebssystem

Sie können die Daten global für alle Benutzer anzeigen und sie nach Webseiten, Browser, Benutzersitzung und Standort aufgeschlüsselt und aufgeteilt anzeigen.

Ich habe den New Relic Browser im Front-End-Monitoring mit dem New Relic Browser (Tuts +) ausführlicher behandelt..

Mit New Relic Synthetics können Sie regelmäßige Tests Ihrer Website in aller Welt durchführen, um Sie sofort über auftretende Probleme zu informieren. In einem kommenden Tutorial werde ich über Synthetics berichten. Besuchen Sie also meine Tuts + Instructor-Seite, um zu sehen, wann sie erscheint.

Verwenden des neuen Relic mit W3 Total Cache

In diesem Lernprogramm wurde der Anmelde- und Installationsvorgang für die Integration des W3 Total Cache New Relic-Dienstes erläutert: Verwenden von New Relic zur Überwachung der WordPress-Leistung (Tuts +).

Klicken Sie in Ihrer WordPress-Verwaltungskonsole auf Leistung> Überwachung. Klicken Sie hier, um sich für ein kostenloses Konto anzumelden. Kopieren Sie die Details für Ihre API und Ihren Lizenzschlüssel in das Fenster mit den W3-Einstellungen für den gesamten Cache.

Die Aktivierung von New Relic auf Ihrem Server ermöglicht die Überwachung vom W3TC-Dashboard (siehe unten):

Für weitere Informationen besuchen Sie die New Relic-Website und loggen Sie sich in Ihr Konto ein.

Überwachen Sie Ihre WordPress-Leistung

Beurteilung der Serverleistung

Auf hoher Ebene bietet die Überwachung des neuen Relic Servers einen Überblick über die CPU-Auslastung, die Speichernutzung und die E / A-Vorgänge für Festplatten und Netzwerke sowie Informationen zu Ihrer Hardware und den meisten aktiven Prozessen. Dies kann Ihnen einen Überblick über die Vorgänge in Ihrer Konfiguration geben und Sie auf wichtige Probleme aufmerksam machen:


Die Registerkarte "Prozess" zeigt Ihnen den Speicher und die CPU-Auslastung jedes Prozesses an:

Sie können auch einen Verlauf der Warnungen anzeigen, der die Leistung Ihrer Website mit roten Markierungen kennzeichnet:

Bewertung der WordPress-Leistung

New Relic ist nützlich, um die WordPress-Leistung auf drei Arten zu bewerten:

1. Apdex. New Relic verwendet die Apdex-Bewertung, um zu ermitteln, wie gut Ihre Wordpress-Anwendung für Ihre Endbenutzer funktioniert, gemäß einer Industriestandard-Messung. Auf diese Weise können Sie bessere Daten zur Fehlerbehebung bereitstellen und ein besseres Verständnis darüber gewinnen, wie viel Prozent Ihrer Benutzer frustriert oder zufrieden sind. Die Apdex-Bewertung bietet auch einen spezifischeren Kontext als eine allgemeine Beschwerde über „Die Website ist langsam“, die möglicherweise erst Stunden nach dem Vorfall bei Ihnen ankommt. Apdex bietet Ihnen auch einen objektiveren Weg, um zu messen, wie gut Ihre Benutzer die Leistungsverbesserungen bemerken.

2. MySQL-Leistung. Wordpress-Plugins und -Themen können Ihre mySQL-Datenbank missbrauchen. Sie können feststellen, welche Probleme Probleme verursachen, indem Sie sich die langsame SQL in New Relic ansehen. Beispielsweise sehen Sie, dass die Auswahl von wp_terms, die für Kategorien und Tags verwendet werden, 20% Ihrer gesamten Datenbankzeit beanspruchen kann. Möglicherweise stellen Sie langsame INSERT-Anweisungen fest, die mit einem gut platzierten Index oder einer verfeinerten Abfrage verbessert werden können.

3. Überwachen der Leistung von Plugins und APIs von Drittanbietern. Die Verwendung von Social-Media-Plug-Ins, Überwachungs-Plug-Ins und anderen coolen Widgets ist in WordPress sehr einfach. Es ist jedoch nicht sofort ersichtlich, wie sich diese Abhängigkeiten von Drittanbietern auf Ihren Blog oder Ihre Marketing-Site auswirken. Mit New Relic können Sie sehen, wie externe Serviceanrufe für eine ganzheitlichere Ansicht zusammengefasst werden. Außerdem können Sie die Antwortzeiten dieser Dritten in jeder der von New Relic erfassten Web-Transaktionen überwachen.

Wir können den Browser von New Relic verwenden, um die Leistung von WordPress genauer zu untersuchen. Sie möchten insbesondere nach Code aus unseren Designs und Plugins suchen, der die Leistung beeinträchtigen kann.

Das Dashboard gibt Ihnen einen Überblick über die Ladezeit von Seiten, aufgeschlüsselt nach Apdex, und den Durchsatz:

Hier ist eine vergrößerte Ansicht meiner Apdex-Bewertung der letzten 24 Stunden:

Sie können die Leistung auch in der Seitenansicht anzeigen:

Wenn Sie einen Drilldown ausführen, können Sie die Leistung der einzelnen Dateien sehen, die von Ihrer Site geladen werden. Sie sollten nach Themen- oder Plugin-Dateien suchen, die verdächtige Zeit in Anspruch nehmen:

MySQL-Analyse

Die Überwachung der neuen Relic-Server kann auch die Leistung Ihrer MySQL-Abfragen nachverfolgen:

Sie können für weitere Details einen Drilldown durchführen:

Und diagnostizieren Sie die langsamsten Abfragen:

Dies kann besonders nützlich sein, um langsame Abfragen zu identifizieren, die durch fehlerhaften Plugin-Code erstellt wurden.

Sitzungsspuren

Sitzungsablaufverfolgungen geben Ihnen Einblick in den gesamten Lebenszyklus einer Webseite, einschließlich Benutzerinteraktionen, Laden von Ressourcen, Iframes, Wartezeiten für Ajax-Aufrufe, Fehler und mehr Verfolgung der tatsächlichen Erfahrung eines echten Benutzers von Anfang bis Ende. 

Spuren identifizieren nicht nur Probleme, sondern zeigen Ihnen auch, was der Benutzer vor und nach dem Auftreten des Fehlers getan hat. 

Hier ist ein detaillierter Drilldown in Ihre Sitzungen. Dies kann bei der Bewertung der Leistung von Code in Themes sowie in Plugins hilfreich sein: 

Session Traces helfen Ihnen zu verstehen:

  • Wie Benutzer das Laden Ihrer Seite erfahren, einschließlich der Zeit bis zum Laden des DOM, der Wartezeit bis zum Abschluss der Ajax-Anforderungen und der Interaktion des Benutzers mit der Seite
  • Die Reihenfolge der JavaScript- und Browser-Ereignisse, die länger dauert als andere und wann jedes Ereignis auftritt
  • wo Engpässe auftreten und was sie verursachen kann
  • warum eine Seite langsamer geladen werden kann als andere, indem der Kontext für einzelne Ereignisse während einer Sitzung bereitgestellt wird

Sie können genau sehen, was in einem bestimmten Browser zu einem bestimmten Zeitpunkt passiert ist. Sitzungsprotokolle bieten Ihnen eine detaillierte und intuitive Visualisierung aller Ereignisse in der Benutzersitzung. Sie können dazu beitragen, Problembereiche zu identifizieren und Lösungen zu finden. Weitere Informationen zur Verwendung von Sitzungsablaufverfolgungen.

Ajax und JavaScript

Auf der Ajax-Seite können Sie sehen, was bei interaktiven Anrufen auf der Seite passiert. So können Sie Probleme mit den Erfahrungen Ihrer Benutzer erkennen, wenn Sie zeitaufwändige oder fehlgeschlagene Anrufe haben:

Beachten Sie, dass der New Relic Browser Ajax-Daten nicht automatisch aufzeichnet. Sie müssen es pro App im Bereich New Relic-Einstellungen aktivieren. Lesen Sie mehr über das Ajax-Dashboard.

Über das Browser-JavaScript-Fehler-Dashboard können Sie schnell erkennen, welche Fehler in Ihrem JavaScript für die Live-Produktion im Laufe der Zeit in welchen Browsern auftreten. Sie können Fehler anhand der Anzahl der aufgetretenen Fehler und der Anzahl eindeutiger Seitenladungen untersuchen, bei denen der Fehler aufgetreten ist. 

Auf diese Weise können Sie die Fehler identifizieren, die Auswirkungen auf die Benutzererfahrungen Ihrer Website haben. Dies ist eine besonders effektive Methode, um JavaScript-Fehler zu erfahren, die nicht in Ihren eigenen Tests auftreten - oder in Browsern, die Sie möglicherweise von Ihrem Testbed ausgeschlossen haben.

Vorausschauen

Self-Hosting von WordPress erfordert ein hohes Maß an technischen Fähigkeiten. Wenn Sie nicht bereit sind, sind verwaltete Hosts die bessere Alternative. Viele von ihnen nutzen New Relic intern zur Optimierung ihrer eigenen Websites, z. Seite.

Ein tieferes Eintauchen in New Relic erfordert Zeit, aber die Ergebnisse sind es wert. Mit diesem Tool können Sie in Ihren WordPress-Stapel sehen, um schnell Problembereiche herauszufinden, die adressiert werden müssen.

Wenn Sie sich selbst hosten, können die Dienste von New Relic unglaublich leistungsstarke Einblicke in Ihre eigene Hosting-Umgebung und Ihren WordPress-Stack, Designs und Plugins bieten - und die Performance-Bestie zähmen. 

In Ihrem Rollout-Prozess (und Ihrem Entwicklungsprozess, wenn Sie eigene Designs und Plugins erstellen), möchten Sie auf jeden Fall mit New Relic einen detaillierten Einblick in Ihre Website erhalten.

Während Sie New Relic Lite für immer verwenden können, möchten Sie nach Ablauf Ihrer zweiwöchigen Testversion wahrscheinlich auf den Pro-Plan (149 US-Dollar / Monat) upgraden, um das gleiche Service-Level zu erhalten. New Relic Browser, Synthetics und Insight verfügen über eigene Preisstrukturen. Weitere Informationen finden Sie auf der New Relic-Website.

Wenn Sie Fragen oder Korrekturen haben, veröffentlichen Sie diese bitte in den Kommentaren. Wenn Sie mit meinen zukünftigen Tuts + -Tutorials und anderen Serien fortfahren möchten, besuchen Sie bitte meine Instructor-Seite oder folgen Sie @reifman.

ähnliche Links

  • Verwenden des neuen Relikts zur Überwachung der WordPress-Leistung (Tuts +)
  • Optimieren von WordPress mit Lack und W3 Total Cache (Tuts +)
  • Front-End-Überwachung mit neuem Relic Browser (Tuts +)
  • Melden Sie sich für NewRelic auf der W3 Total Cache Partnership-Seite an
  • WordPress-Leistungsoptimierung mit New Relic