Při vývoji webu pomocí PHP, pokud jsou některé dynamické stránky PHP po spuštění velmi pomalé, můžeme analyzovat úzké hrdlo webu pomocí pomalých logů php-fpm.
Nastavení PHP-FPM slowlog nám umožňuje vidět, které php procesy jsou příliš pomalé a způsobují problémy s webem.
Nejprve zkontrolujte všechny procesy pomocí příkazu horního -c, abyste viděli adresu konfiguračního souboru načtenou php-fpm, jak je znázorněno na obrázku níže:
FPM konfigurace
parametr: -p, dynamicky upravit prefix --v příkazovém řádku
include=etc/php-fpm.d/*.conf pro obsah jednoho nebo více souborů, pokud existuje glob(3) (funkce glob() vrací název souboru nebo adresář, který odpovídá specifikovanému vzoru)
php-FPM načte podkonfigurační soubor, $pool proměnná může být použita v jakékoli direktivě a nahradí odpovídající název procesního poolu. Například: zde[www]
Zapněte pomalé klády
vstoupit/usr/local/etc/php-fpm.dPodkonfigurační soubor, najděte www.conf (podle vaší skutečné situace), PHP 5.3.3 a pozdější verze jsou nastaveny následovně:
; Časový limit pro doručení jediného požadavku, po kterém následuje PHP zpětné sledování, je ; Uloženo do souboru 'slowlog'. Hodnota '0' znamená 'vypnuto'. ; Dostupné jednotky: s(econds)(výchozí), m(inutes), h(ours) nebo d(ays) ; Výchozí hodnota: 0 request_slowlog_timeout = 1 ; Logovací soubor pro pomalé požadavky ; Výchozí hodnota: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Časová pauza pro doručení jediného požadavku, po které pracovník proces vykoná ; být zabit. Tuto možnost by měla použít při ini volbě 'max_execution_time' ; z nějakého důvodu nezastaví spuštění skriptu. Hodnota '0' znamená 'vypnuto'. ; Dostupné jednotky: s(econds)(výchozí), m(inutes), h(ours) nebo d(ays) ; Výchozí hodnota: 0 request_terminate_timeout = 10 sekund Poznámka: request_terminate_timeout Ukončit proces, který běžel příliš dlouho přímo
request_slowlog_timeout Zapisovat soubory, které jsou příliš pomalé na vykonání do logu
Od teď můžete optimalizovat programové soubory podle slow execution log /usr/local/php/log/php-fpm.log.slow!
|