Heim > Backend-Entwicklung > PHP-Tutorial > Der Schlüssel zur Verbesserung der Website-Leistung: Praktischer Leitfaden zur PHP-FPM-Optimierung

Der Schlüssel zur Verbesserung der Website-Leistung: Praktischer Leitfaden zur PHP-FPM-Optimierung

王林
Freigeben: 2023-10-05 09:30:01
Original
1123 Leute haben es durchsucht

Der Schlüssel zur Verbesserung der Website-Leistung: Praktischer Leitfaden zur PHP-FPM-Optimierung

Der Schlüssel zur Verbesserung der Website-Leistung: Praktischer Leitfaden zur PHP-FPM-Optimierung

Mit der rasanten Entwicklung des Internets spielen Websites eine immer wichtigere Rolle. Für Website-Betreiber ist die Verbesserung der Website-Performance von entscheidender Bedeutung, nicht nur um das Benutzererlebnis zu verbessern, sondern auch um das Suchmaschinen-Ranking zu verbessern. PHP-FPM (FastCGI Process Manager) spielt als Prozessmanager für die Ausführung von PHP eine entscheidende Rolle bei der Verbesserung der Website-Leistung. In diesem Artikel erhalten Sie eine praktische Anleitung zur PHP-FPM-Optimierung, einschließlich spezifischer Codebeispiele.

1. PHP-FPM installieren und konfigurieren

Zunächst müssen Sie sicherstellen, dass PHP auf dem Server installiert ist. Sie können dies mit dem folgenden Befehl überprüfen:

php -v
Nach dem Login kopieren

Wenn PHP nicht installiert ist, verwenden Sie bitte den folgenden Befehl, um es zu installieren (am Beispiel von CentOS):

yum install php
Nach dem Login kopieren

Nach Abschluss der Installation müssen Sie PHP ändern. ini-Datei, um die PHP-FPM-Unterstützung zu aktivieren. Suchen Sie die folgenden zwei Codezeilen und ändern Sie sie:

cgi.fix_pathinfo=0
; FastCGI dynamic process spawning
; Set to 0 if you're not having permission errors when running PHP as a CGI.
; http://php.net/cgi.fix-pathinfo
Nach dem Login kopieren

Ändern Sie die erste Codezeile in:

cgi.fix_pathinfo=1
Nach dem Login kopieren

Ändern Sie die zweite Codezeile in:

;cgi.fix_pathinfo=0
Nach dem Login kopieren

Nachdem Sie die Änderungen gespeichert haben, starten Sie den PHP-FPM-Dienst neu, um das zu erstellen Änderungen wirksam.

service php-fpm restart
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

2. Passen Sie die Konfigurationsparameter von PHP-FPM an

Bevor wir PHP-FPM optimieren, müssen wir einige wichtige Parameter von PHP-FPM verstehen:

  • pm.max_children: Geben Sie auch die maximale Anzahl von Prozessen an die maximale Anzahl von PHP-Prozessen, die PHP-FPM erstellen kann. Wenn dieser Wert überschritten wird, werden neue Verbindungen in die Warteschlange gestellt.
  • pm.start_servers: Geben Sie die Anzahl der beim Start erstellten PHP-Prozesse an.
  • pm.min_spare_servers: Geben Sie die Mindestanzahl an Leerlaufprozessen an, die PHP-FPM aufrechterhalten muss.
  • pm.max_spare_servers: Geben Sie die maximale Anzahl von Leerlaufprozessen an, die PHP-FPM aufrechterhalten muss.
  • pm.max_requests: Gibt die maximale Anzahl von Anfragen an, die von jedem PHP-Prozess verarbeitet werden. Nach Überschreiten dieses Wertes wird der Prozess neu gestartet.

Je nach Serverkonfiguration und Website-Verkehr können diese Parameter entsprechend angepasst werden, um die Leistung von PHP-FPM zu verbessern. Wenn die Serverkonfiguration beispielsweise niedrig ist, können Sie pm.max_children auf einen kleineren Wert festlegen, z. B. 20. Wenn der Website-Verkehr nicht hoch ist, können Sie pm.min_spare_servers und pm.max_spare_servers auf kleinere Werte setzen, z. B. 5.

Sie können diese Parameter ändern, indem Sie die Datei php-fpm.conf bearbeiten:

vi /etc/php-fpm.conf
Nach dem Login kopieren
Nach dem Login kopieren

Suchen Sie die folgenden Codezeilen zum Ändern:

pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 500
Nach dem Login kopieren

Nach dem Speichern der Änderungen starten Sie den PHP-FPM-Dienst neu, damit die Änderungen wirksam werden.

service php-fpm restart
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

3. Aktivieren Sie die OPcache-Erweiterung von PHP. OPcache ist ein Beschleuniger, der nach PHP Version 5.5 eingeführt wurde. Er kann kompilierte PHP-Skripte im Speicher zwischenspeichern, um die Zeit für die wiederholte Kompilierung zu verkürzen. Die OPcache-Erweiterung kann durch Befolgen dieser Schritte aktiviert werden:

Öffnen Sie die php.ini-Datei:
  1. vi /etc/php.ini
    Nach dem Login kopieren
;" Gibt den spezifischen OPcache-Erweiterungspfad an, normalerweise /usr/lib64/php/modules/opcache.so.
  1. Nachdem Sie die Änderungen gespeichert haben, starten Sie den PHP-FPM-Dienst neu, damit OPcache wirksam wird.
;zend_extension = <path_to_opcache.so>
Nach dem Login kopieren
    4. Aktivieren Sie die Slow-Log-Funktion von PHP-FPM. Die Slow-Log-Funktion von PHP-FPM kann Anfragen, deren Ausführungszeit den angegebenen Schwellenwert überschreitet, zur anschließenden Analyse und Optimierung in einer Protokolldatei aufzeichnen. Sie können die Slow Log-Funktion durch die folgenden Schritte aktivieren:
  1. Öffnen Sie die Datei php-fpm.conf:
service php-fpm restart
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Suchen Sie den folgenden Code:

vi /etc/php-fpm.conf
Nach dem Login kopieren
Nach dem Login kopieren
  1. Entfernen Sie das vorherige „;“ und ändern Sie „request_slowlog_timeout“. " bis Der erforderliche Schwellenwert in Sekunden. Wenn Sie ihn beispielsweise auf 1 ändern, bedeutet dies, dass Anfragen, deren Ausführung länger als 1 Sekunde dauert, protokolliert werden.
Nach dem Speichern der Änderungen starten Sie den PHP-FPM-Dienst neu, damit die Slow Log-Funktion wirksam wird.
  1. ;slowlog = /var/log/php-fpm/www-slow.log
    ;request_slowlog_timeout = 0
    Nach dem Login kopieren
  2. 5. Verwenden Sie Reverse-Proxy-Server wie Nginx
    Die Verwendung von Reverse-Proxy-Servern wie Nginx kann statische Ressourcenanforderungen zur Verarbeitung an Nginx weiterleiten, wodurch die Belastung von PHP-FPM verringert und die Website-Leistung verbessert wird.
  1. In der Nginx-Konfigurationsdatei können Sie Anforderungen für statische Ressourcen über den folgenden Code an Nginx weiterleiten:
  2. service php-fpm restart
    Nach dem Login kopieren
    Nach dem Login kopieren
    Nach dem Login kopieren
    Nach dem Login kopieren
  3. Der obige Code leitet Anforderungen für JPG, JPEG, PNG, GIF, ICO, CSS, JS und andere Suffixe an http weiter: Verarbeitet auf //yourdomain.com.

6. Caching-Mechanismus verwenden

In der Geschäftslogik der Website kann der Caching-Mechanismus verwendet werden, um den Datenbankzugriff und die Generierung dynamischer Seiten zu reduzieren und dadurch die Website-Leistung zu verbessern. Dies kann mithilfe von Caching-Technologien wie Redis und Memcached erreicht werden.

Der Redis-Cache kann über das folgende Codebeispiel verwendet werden:

location ~* .(jpg|jpeg|png|gif|ico|css|js)$ {
    proxy_pass http://yourdomain.com;
    proxy_set_header Host $host;
}
Nach dem Login kopieren

Der obige Code prüft zunächst, ob die Benutzerinformationen im Cache vorhanden sind. Wenn sie vorhanden sind, werden sie direkt aus dem Cache abgerufen die Benutzerinformationen aus der Datenbank und speichert sie im Cache und legt die Ablaufzeit auf 3600 Sekunden fest.

Zusammenfassung:

Durch die Optimierung von PHP-FPM können wir die Leistung der Website verbessern und das Benutzererlebnis verbessern. Dieser Artikel bietet eine praktische Anleitung zur PHP-FPM-Optimierung und enthält spezifische Codebeispiele als Referenz. In tatsächlichen Anwendungen kann es auch entsprechend den spezifischen Anforderungen angepasst und optimiert werden, um die beste Leistung zu erzielen.

Das obige ist der detaillierte Inhalt vonDer Schlüssel zur Verbesserung der Website-Leistung: Praktischer Leitfaden zur PHP-FPM-Optimierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage