Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Diagnose von WordPress-Leistungsproblemen mit New Relic

by
Difficulty:IntermediateLength:LongLanguages:
This post is part of a series called Performance Monitoring With New Relic.
Introduction to New Relic Synthetics
Get Started With Monitoring Your Web Application Using New Relic Alerts
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

German (Deutsch) translation by Wei Zhang (you can also view the original English article)

Final product image
What You'll Be Creating

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 Dienstleistungen.

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. Optimierung von PHP, das relativ langsam ist. Schnellere Versionen von PHP wie HHVM könnten in der Zukunft für WordPress geeignet sein, 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 Speicheranforderungen zu verringern, und verwenden Sie include und require eher als include_once und requir_once.

6. Verwenden Sie Opcode Caching 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."

Im Objekt-Cache von WordPress passiert viel Magie. Es gibt verschiedene Objektgruppen, die von WordPress bei der Verarbeitung von Seitenanforderungen generiert werden. Diese Gruppen dienen zahlreichen Zwecken. Je nachdem, wie Sie WordPress verwenden, wird eine erhebliche Leistungssteigerung erzielt, indem die Objekte dauerhaft gespeichert werden, z. B. 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.

"Mit W3TC können Sie einen anderen Datenspeicher als MySQL wie memcached auswählen, der für den Hochgeschwindigkeitszugriff von mehreren Anwendungsservern ausgelegt ist. Anstelle jeder Seitenanfrage, die bereits entsprechende Informationen über den Besucher oder andere dynamische Elemente abrufen muss, kann MySQL 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 oft eine Zwischenspeicherung, die zwischen der Webanwendung und dem öffentlichen Internet liegt. 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. Lack, Nginx oder sogar Apache können so konfiguriert werden, dass sie Reverse-Proxy-Funktionen bereitstellen. "

Am häufigsten verwende ich Lack mit Apache und W3 Total Cache in Kombination, um WordPress zu skalieren. Wenn Sie sich für diese Konfigurationen interessieren, überprüfen Sie Folgendes: Optimieren von WordPress mit Varnish und W3 Total Cache (Tuts +).

8. Content Delivery Networks (CDNs) sind Cloud-basierte Caching-Dienste 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 diese Inhalte in der Nähe und verkürzt die Gesamtladezeit für Ihre Website um Sekunden. "

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, wodurch sich WordPress optimal optimieren lässt.

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.

New Relic Browser

Darüber hinaus überwacht New Relic Browser Lebenszyklusdaten ganzer Seiten - weit über die ursprü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

Sign Up for New Relic

In diesem Lernprogramm wurde der Anmelde- und Installationsvorgang für die W3 Total Cache New Relic-Dienstintegration 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 "W3 Total Cache Settings" (Gesamt-Cache-Einstellungen):

Enter your New Relic API and license key in W3TC settings

Das Aktivieren von New Relic auf Ihrem Server ermöglicht die Überwachung vom W3TC-Dashboard aus, wie unten gezeigt:

W3 Total Cache Dashboard Panel for New Relic

Für weitere Informationen können Sie die New Relic-Website besuchen und sich in Ihrem Konto anmelden.

Ü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 zur 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:

New Relic Servers Dashboard

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

New Relic Processes

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

New Relic Server Alert History

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 abschneidet. So können Sie bessere Daten für die 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. Oder Sie stellen 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:

New Relic Browser Overview

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

New Relic Apdex Score over 24 Hours

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

New Relic Page View Segmentation

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 Plug-In-Dateien suchen, die verdächtige Zeit benötigen:

New Relic Script Analysis
New Relic Page Performance

MySQL-Analyse

Die Überwachung des neuen Relic-Servers kann auch die Leistung Ihrer MySQL-Abfragen verfolgen:

New Relic APM Database MySQL Query Tracking

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

New Relic APM Database MySQL Query Tracking Detail View

Und diagnostizieren Sie die langsamsten Abfragen:

New Relic APM Database MySQL Tracking Slow Queries

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

Sitzungsspuren

Sitzungsablaufverfolgungen ermöglichen den Einblick in den gesamten Lebenszyklus einer Webseite, einschließlich Benutzerinteraktionen, Laden von Assets, Iframes, Wartezeiten für Ajax-Anrufe, Fehler und vieles mehr. So können Sie die tatsächliche Erfahrung eines echten Benutzers von Anfang bis Ende nachverfolgen.

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

New Relic Session Traces

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

New Relic Session Traces Detail

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:

New Relic AJAX Analysis

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 von JavaScript-Fehlern zu erfahren, die nicht in Ihren eigenen Tests auftreten - oder von Browsern, die Sie möglicherweise von Ihrem Testbed ausgeschlossen haben.

New Relic Javascript Analysis

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. Page.ly.

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-Bestien bändigen.

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/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

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.