Schlagen Sie mir eine gute PHP-FPM-Konfiguration vor

Schlagen Sie mir eine gute PHP-FPM-Konfiguration vor

Ich konfiguriere einen Server für einen Freund. Der Server hat die folgenden Spezifikationen

8GB RAM 
Quad Core processor 
1 TB HDD 
100 mbps port

Allerdings werden alle PHP-Dateien sehr langsam geladen. Ich habe einen Geschwindigkeitstest durchgeführt und der Server benötigt 16 Sekunden, um das ERSTE Byte zu laden. Ich bin fest davon überzeugt, dass es an meiner PHP-FPM-Konfiguration liegt. Der Server verwendet nur Nginx und PHP, kein MySQL usw.

Meine aktuelle php-fpm-Konfiguration

pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 35

Serverauslastung und RAM-Verbrauch sind vollkommen in Ordnung

Bitte schlagen Sie mir eine gute Konfiguration für diesen Server vor


AKTUALISIEREN:

Diese Konfiguration funktioniert einwandfrei

pm.max_children = 20
pm.start_servers = 7
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pm.max_requests = 100

Das Problem mit der Ladezeit des ersten Bytes ist gelöst. Nach etwa 15 bis 20 Stunden nimmt die Ladezeit des ersten Bytes jedoch allmählich zu. Ich muss php-fpm neu laden, um eine kurze Ladezeit zu erhalten. Basierend auf meiner obigen Konfiguration ändere ich es, damit die Ladezeit des ersten Bytes kurz bleibt und ich es nicht neu starten muss:P

UPDATE 2: Vor dem Neustart von php-fpm: Zeit zum Laden des ersten Bytes: 1,5 Sekunden. Gesamtladezeit der Seite: 3,0 Sekunden. Zeit nach dem Neustart von php-fpm: Zeit zum Laden des ersten Bytes: 0,3 Sekunden. Gesamtladezeit der Seite: 1,5 Sekunden.

Dies zeigt deutlich, dass es sich um eine Frage der php-fpm-Konfiguration handelt und nicht um langsamen Code

Antwort1

Viel zu viele Arbeiter! Verwenden Sie APC, um Ihren Code zu beschleunigen, und ich stimme @Martin Fjordvald voll und ganz zu, dass langsamer Code einfach langsamer Code ist. Sie könnten beispielsweise Ihre index.php posten und wir könnten Ihnen helfen, den Engpass zu finden.

Meine persönliche Konfiguration finden Sie unterGitHubDer letzte Belastungstest mit einer Drupal-Installation ergab Ladezeiten von ca. 120 ms.

Erstellen Sie über einen neuen Cronjob crontab -eund tragen Sie folgendes in die Datei ein:

# Simple reload every hour.
@hourly /etc/init.d/php5-fpm reload

# And restart at midnight.
@daily /etc/init.d/php5-fpm restart

Antwort2

Langsamer Code ist langsamer Code und Ihre Serverkonfiguration kann nichts dagegen tun. Die einzige Situation, in der die Geschwindigkeit langsam werden kann, ist, wenn Sie so viel Verkehr haben, dass Ihre Anfragen warten müssen, bis ein Prozess verfügbar wird.

Da Sie PHP-FPM verwenden, aktivieren Sie das langsame Protokoll und finden Sie heraus, warum Ihr Code langsam ist.

verwandte Informationen