Heim  >  Artikel  >  CMS-Tutorial  >  So optimieren Sie WordPress in Nginx

So optimieren Sie WordPress in Nginx

尚
Original
2019-07-16 10:45:253232Durchsuche

So optimieren Sie WordPress in Nginx

Lösungen für die langsame Ausführung von WordPress unter Nginx:

Methoden zur Optimierung der langsamen Ausführung von WordPress

1. Reduzieren Sie die Anzahl der Plug-Ins. Verwenden Sie

Dies ist das Erste. Die meisten Leute verfügen oft nicht über ausreichende Programmierkenntnisse und es ist unmöglich, jedes Plug-In zu programmieren, sodass die meisten Leute eine große Anzahl von Plug-Ins verwenden. Die meisten Plug-Ins führen eine Datenabfrage und -generierung durch, was während des Seitengenerierungsprozesses einige Zeit in Anspruch nehmen wird. Wenn auf Ihrem Host strenge Einschränkungen gelten (um die Ressourcennutzung auszugleichen), kann diese Zeit sogar länger werden. Die Reduzierung von Plug-Ins ist eine der dringend notwendigen Optimierungsmethoden

2. HTTP-Anfragen reduzieren

Jeder Zugriff auf JS, CSS und andere Dateien ist eine HTTP-Anfrage. Bei geringerer Nutzung des Plug-Ins wird die Anzahl der HTTP-Anfragen naturgemäß geringer sein. Die Geschwindigkeit ist natürlich höher

WP ermittelt bei jedem Seitenaufruf die Nutzung des Plug-ins. Wenn WP weniger Beurteilungen vornehmen kann, müssen weniger Datenabfragen durchgeführt werden. Lass seine Last los.

3. Themes sorgfältig auswählen oder manuell optimieren

Viele Themes sind schön, aber nicht sehr gut in der Optimierung, darunter verschiedene JS, verschiedene CSS, verschiedene Hintergrundbilder usw. Verschiedene Leerzeilen und verschiedene Redundanzen wirkt sich auf die Ladegeschwindigkeit aus. Dies bedeutet jedoch nicht, dass Sie kein wunderschönes Thema auswählen können, aber das Thema sollte grundsätzlich die folgenden Anforderungen erfüllen, oder Sie können es manuell ändern, um die folgenden Anforderungen zu erfüllen:

CSS und JS zusammenführen: Mehrere CSS zusammenführen in 1.

Hintergrundbilder zusammenführen: Verwenden Sie CSS-Sprites, um die meisten Hintergrundbilder in einer Datei zusammenzuführen, wodurch auch HTTP-Anfragen reduziert, die Dateigröße reduziert und die Renderzeit beschleunigt wird.

Datenabfragen reduzieren: Führen Sie keine Datenabfragen durch, bei denen HTML direkt ausgegeben werden kann.

Angemessene JS- und CSS-Platzierung: Platzieren Sie einige JS- und CSS-Elemente sinnvoll am Ende der Webseite.

Optimieren Sie das Hintergrundbild des Themes

4. Reduzieren Sie den Einsatz externer Ressourcen

Externe Ressourcen sind Ressourcen, die sich nicht auf Ihrem eigenen Server befinden. Bei Verwendung zu vieler externer Ressourcen treten folgende Probleme auf:

Die Zeit zur DNS-Auflösung wird länger

Jeder Domainname erfordert eine DNS-Auflösung, um ordnungsgemäß zu funktionieren. Wenn der Inhalt der Website gleichzeitig die Ressourcen von a.com, b.com, c.com und d.com laden muss, dauert es länger, den DNS jedes Domänennamens separat aufzulösen und einen einzurichten Verbindung. Wenn es sich bei Ihrer Website um a.com handelt und ähnliche Domänennamen wie 1.a.com und 2.a.com gleichzeitig geladen werden, verlängert sich auch die DNS-Auflösungszeit. Es ist unmöglich, externe Ressourcen vollständig zu vermeiden, aber sie können so wenig wie möglich eingesetzt werden.

Die Ladegeschwindigkeit externer Ressourcen ist unkontrollierbar

Dies gilt hauptsächlich für den Inhalt einiger ausländischer Websites wie fickr, Twitter usw. Aus bekannten Gründen wird das Laden ihrer Ressourcen beeinträchtigt Ladegeschwindigkeit deutlich verlangsamen. Relativ gesehen sind inländische Websites relativ schnell.

5. Reduzieren Sie Datenbankabfragen oder verwenden Sie Datenbank-Caching-Plug-Ins.

Viele Plug-Ins erfordern Datenbankabfragen Anzahl der Datenbankabfragen. Wenn Sie es nicht verstehen, können Sie die Verwendung des Datenbank-Cache in Betracht ziehen, der den Abfrageinhalt der Datenbank zwischenspeichern kann

Es ist zu beachten, dass das Datenbank-Cache-Plugin nicht zusammen mit dem statischen Cache-Plugin verwendet werden sollte -In. Da sowohl Inhalte zwischengespeichert als auch Abfragen reduziert werden, führt die gemeinsame Verwendung zu Doppelarbeit.

6. Verwenden Sie das Static-Caching-Plug-In für Seiten

Die Prinzipien des Static-Caching-Plug-Ins und des Datenbank-Caching-Plug-Ins sind ähnlich Statische Dateien können bei Bedarf direkt entnommen werden, ohne sie suchen oder generieren zu müssen, was Zeitverschwendung ist. Eine zwischengespeicherte statische Datei kann grundsätzlich einem statischen Bild entsprechen, ohne dass der Inhalt zu kompliziert wird.

Es gibt andere Optimierungsmethoden, z. B. die Verwendung von GZIP zum Komprimieren von Webseiten, die Optimierung von Blog-Post-Bildern, die Verwendung eines verteilten CDN-Netzwerks zur Beschleunigung statischer Dateien usw.

Installieren Sie das WordPress-Plug-in und überprüfen Sie den Grund für die Langsamkeit

Nachdem diese Website eine Zeit lang ausgeführt wurde, dauert der Zugriff bis zu 20 Sekunden Der Zugriff auf eine einzelne Artikelseite dauerte jedes Mal 20 Sekunden, was einfach inakzeptabel war. Ich habe mich schließlich dazu entschlossen, ihn vollständig zu lösen.

Durch die Konsultation einer großen Menge an Informationen wurde das System unter Bezugnahme auf die Methode im vorherigen Abschnitt optimiert.

1. Blockieren Sie zunächst alle Plug-Ins und stellen Sie fest, dass das Systemproblem weiterhin besteht und die Geschwindigkeit zum Öffnen der Homepage immer noch etwa 10 Sekunden beträgt.

2. Überprüfen Sie den HTTP-Anfragestatus über httpwatch und Stellen Sie fest, dass beim Zugriff auf die Homepage PHP abgerufen wird. Die Seitenzeit beträgt 9 Sekunden und die Zeit zum Öffnen von Bildern, JS, CSS usw. beträgt etwa 2 bis 3 Sekunden, sodass dies nicht durch zu viele http-Anfragen verursacht wird.

3. Öffnen Sie die langsame Abfrage der Datenbank und überprüfen Sie den langsamen Abfragestatus. Ich habe festgestellt, dass die meisten Abfragen relativ schnell sind. Daher können auch Datenbankfaktoren eliminiert werden.

Es gibt wirklich keine andere Möglichkeit, ein WordPress-Plugin zu verwenden, um zu untersuchen, was auf der Startseite passiert, und dann zu sehen, wo es am längsten dauert, und es dann langsam entsprechend zu optimieren Ich hatte keine andere Wahl, als dies zu tun.

Ich bin auf die WordPress-Website gegangen und habe nach dem Debug-Plugin gesucht. Ich habe viel gesucht und viele davon ausprobiert, aber keines davon entsprach meinen Anforderungen. Schließlich habe ich ein Plug-in „Debug Queries“ gefunden, das ich gemäß den alten Gewohnheiten von wp heruntergeladen und installiert habe. Klicken Sie schließlich, wie im Bild unten gezeigt, auf die Schaltfläche „Aktivieren“, um das Plug-in zu aktivieren.

So optimieren Sie WordPress in Nginx

Öffnen Sie nach der Installation des Plug-Ins die Homepage der Website, überprüfen Sie den Effekt und stellen Sie fest, dass keine Änderung vorliegt.

Öffnen Sie abschließend ein Artikelseite und finden Sie Jiujiu am Ende der Artikelseite. Das Bild unten:

So optimieren Sie WordPress in Nginx

Das Bild wurde mit verschiedenfarbigen Bereichen markiert

Roter Bereich: Zeit: 0,000xxxx Abfrage erforderliche Zeit

Grüner Bereich: Abfrage: SQL-Anweisung abfragen

Aufruf von: erforderlich, xxx Aufrufsequenz usw.

Dann folgen weitere Aufrufe. Die Seite zeigt, welche Funktionen und aufrufenden Prozesse während dieses Seitenanzeigevorgangs aufgerufen werden und wie viel Zeit dafür benötigt wird (die Abfragezeit der Datenbank, basierend auf dieser Zeit und der Gesamtzeit berechnen wir die von PHP aufgewendete Zeit)

Die letzte Seite ist unten. Bild:

So optimieren Sie WordPress in Nginx

Der blaue Teil: ist die Zusammenfassung der Datenabfragezeit für diesen Besuch. Sie können sehen, dass die Abfrage insgesamt 0,24 Sekunden gedauert hat , und es sind 83 Abfragen aufgetreten (dies zeigt auch, dass wp-Plugins Leistungsprobleme mit sich bringen, aber die Datenmenge im System ist derzeit gering, was keinen Einfluss auf die Leistung des Systems hat)

Der grüne Teil: ist eine Zusammenfassung der Gesamtzeit während dieses Benutzerbesuchs. Die Statistik hier sollte die Gesamtzeit für PHP umfassen.

Der rote Teil: ist die Gesamtzeit dieses Besuchs

Lila Teil: der Prozentsatz, der während dieses Besuchs im PHP-Programm verbracht wurde. 97,5 %

Der gelbe Teil: ist der Prozentsatz der Zeit, die während dieses Besuchs in der MySQL-Datenbank verbracht wurde. 2,5 %

Aus den obigen Daten können wir ersehen, dass bei einem 10-sekündigen Benutzerbesuch MySQL nimmt nur 2,5 % der Zeit in Anspruch, daher ist es sicher, dass das 10-Sekunden-Zugriffsproblem durch andere Links als MySQL verursacht wird und hauptsächlich ein Problem mit PHP sein sollte.

Starten Sie den PHP-Prozess neu, um das langsame Problem zu lösen

Aus der Analyse der oben genannten Abteilung können wir bereits erkennen, dass das Problem wahrscheinlich in PHP liegt Ich bin nicht in der Lage, das PHP-Problem zu beheben, daher habe ich beschlossen, den PHP-Prozess neu zu starten, um die Auswirkung zu sehen.

1. Suchen Sie den PHP-Prozess

Geben Sie den Befehl „su“ ein, wechseln Sie zum Root-Konto.

Geben Sie den Befehl „ps -ef grep php |“ ein. wie folgt

So optimieren Sie WordPress in Nginx

Aus dem Bild können wir erkennen, dass die PHP-Prozess-ID 26765 ist und der Prozessname php-fpm ist (dies ist das von Nginx benötigte PHP-Programm).

2. Finden Sie den Startpfad des PHP-Prozesses

Geben Sie den folgenden Befehl ein lsof -p 8584 (8584 ist hier die ID des PHP-Prozesses, wenn das Problem gelöst wird, die obige 26765 ist immer noch die Suche nach dem letzten Artikel) Prozess-ID)

So optimieren Sie WordPress in Nginx

3. Schließen Sie den Prozess

kill -9 8584 Schließen Sie den alten PHP-Prozess

Manchmal öffnet sich PHP. Es gibt viele Prozesse, die schwer zu schließen sind. Sie können die folgende Methode verwenden:

killall php-fpm (Diese Seite verwendet diese Methode)

4 php-Prozess

Geben Sie den folgenden Befehl ein

/usr/sbin/php-fpm, um den Prozess neu zu starten

Weitere technische Artikel zu WordPress finden Sie unter wordpress Tutorial Spalte zum Lernen!

Das obige ist der detaillierte Inhalt vonSo optimieren Sie WordPress in Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn