Bij het ontwikkelen van een website met PHP, als sommige PHP-dynamische pagina's na de lancering erg traag toegankelijk zijn, kunnen we de bottleneck van de website analyseren via PHP-fpm trage logs.
De PHP-FPM Slowlog-instelling laat ons zien welke PHP-processen te traag zijn en websiteproblemen veroorzaken.
Controleer eerst alle processen via het top-commando -c om het configuratiebestandadres te zien dat door php-fpm wordt geladen, zoals weergegeven in de onderstaande figuur:
FPM-configuratie
parameter: -p, dynamisch aanpassen --voorvoegsel in de opdrachtregel
include=etc/php-fpm.d/*.conf om één of meer bestanden te bevatten als glob(3) bestaat (glob()-functie geeft een bestandsnaam of map terug die overeenkomt met het opgegeven patroon)
php-fpm laadt een subconfiguratiebestand, $pool variabele kan in elke richtlijn worden gebruikt, en vervangt de bijbehorende naam van de procespool. Bijvoorbeeld: hier[www]
Zet langzame stammen aan
binnenkomen/usr/local/etc/php-fpm.dSubconfiguratiebestand, vind www.conf (afhankelijk van je werkelijke situatie), PHP 5.3.3 en latere versies zijn als volgt ingesteld:
; De time-out voor het bedienen van een enkel verzoek, waarna een PHP backtrace zal zijn. ; gedumpt naar het 'slowlog'-bestand. Een waarde van '0en' betekent 'af'. ; Beschikbare eenheden: s(econds)(standaard), m(inutes), h(ours) of d(ays) ; Standaardwaarde: 0 request_slowlog_timeout = 1s ; Het logbestand voor langzame verzoeken ; Standaardwaarde: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; De time-out voor het vervullen van één verzoek waarna de werknemer zal worden behandeld ; gedood worden. Deze optie moet worden gebruikt wanneer de 'max_execution_time' ini-optie wordt gebruikt ; stopt om de een of andere reden de scriptuitvoering niet. Een waarde van '0' betekent 'af'. ; Beschikbare eenheden: s(econds)(standaard), m(inutes), h(ours) of d(ays) ; Standaardwaarde: 0 request_terminate_timeout = 10s Opmerking: request_terminate_timeout Beëindig een proces dat te lang direct draait
request_slowlog_timeout Schrijf bestanden die te traag zijn om uit te voeren naar het logboek
Vanaf nu kun je de programmabestanden optimaliseren volgens het slow execution log /usr/local/php/log/php-fpm.log.slow!
|