Pri vývoji webu pomocou PHP, ak sú niektoré dynamické stránky PHP po spustení veľmi pomalé na prístup, môžeme analyzovať úzke hrdlo webu cez php-fpm pomalé logy.
Nastavenie PHP-FPM Slowlog nám umožňuje vidieť, ktoré php procesy sú príliš pomalé a spôsobujú problémy s webom.
Najprv skontrolujte všetky procesy pomocou horného príkazu -c, aby ste videli adresu konfiguračného súboru načítanú php-fpm, ako je znázornené na obrázku nižšie:
FPM konfigurácia
Parametre: -p, dynamicky upraviť prefix --v príkazovom riadku
include=etc/php-fpm.d/*.conf na obsahovanie jedného alebo viacerých súborov, ak existuje glob(3) (funkcia glob() vráti názov súboru alebo adresár, ktorý zodpovedá zadanému vzoru)
php-fpm načíta podkonfiguračný súbor, $pool premenná môže byť použitá v akomkoľvek direktíve a nahradí príslušný názov procesného poolu. Napríklad: tu[www]
Zapnite pomalé kmene
vstúpiť/usr/local/etc/php-fpm.dPodkonfiguračný súbor, nájdite www.conf (podľa vašej skutočnej situácie), PHP 5.3.3 a novšie verzie sú nastavené nasledovne:
; Časový limit na doručenie jednej požiadavky, po ktorom nasleduje PHP spätné sledovanie, bude ; Uložené do súboru 'slowlog'. Hodnota '0' znamená 'vypnuté'. ; Dostupné jednotky: s(econds)(default), m(inutes), h(ours) alebo d(ays) ; Predvolená hodnota: 0 request_slowlog_timeout = 1s ; Logovací súbor pre pomalé požiadavky ; Predvolená hodnota: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Časová prestávka na doručenie jednej žiadosti, po ktorej pracovný proces bude ; byť zabitý. Táto možnosť by sa mala používať pri ini možnosti 'max_execution_time' ; z nejakého dôvodu nezastaví vykonávanie skriptu. Hodnota '0' znamená 'vypnuté'. ; Dostupné jednotky: s(econds)(default), m(inutes), h(ours) alebo d(ays) ; Predvolená hodnota: 0 request_terminate_timeout = 10s Poznámka: request_terminate_timeout Ukončiť proces, ktorý beží príliš dlho, priamo
request_slowlog_timeout Zapisujte súbory, ktoré sú príliš pomalé na spustenie do logu
Odteraz môžete optimalizovať programové súbory podľa slow execution log /usr/local/php/log/php-fpm.log.slow!
|