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 -e
und 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.