Kun kehitämme verkkosivustoa PHP:llä, jos jotkut PHP-dynaamiset sivut ovat hyvin hitaita käynnistyksen jälkeen, voimme analysoida sivuston pullonkaulan php-fpm hitaiden lokien avulla.
PHP-FPM:n hidastus-asetus antaa meille mahdollisuuden nähdä, mitkä PHP-prosessit ovat liian hitaita ja aiheuttavat verkkosivuston ongelmia.
Ensiksi tarkista kaikki prosessit yläkomennolla -c, niin näet php-fpm:llä ladatun konfiguraatiotiedoston osoitteen, kuten alla olevassa kuvassa näkyy:
FPM-konfiguraatio
parametri: -p, muokkaa dynaamisesti --etuliitettä komentorivillä
include=etc/php-fpm.d/*.conf sisältämään yhden tai useamman tiedoston, jos glob(3) on olemassa (glob()-funktio palauttaa tiedostonimen tai hakemiston, joka vastaa määriteltyä kaavaa)
php-fpm lataa alikonfiguraatiotiedoston, $pool muuttujaa voi käyttää missä tahansa direktiivissä, ja se korvaa vastaavan prosessipoolin nimen. Esimerkiksi: tässä[www]
Laita hitaat lokit päälle
astua/usr/local/etc/php-fpm.dAlikonfiguraatiotiedosto, etsi www.conf (tilanteesi mukaan), PHP 5.3.3 ja uudemmat versiot on asetettu seuraavasti:
; Yhden pyynnön palvelemisen aikakatkaisu, jonka jälkeen PHP-jälkiseuranta on ; dumpattuna 'slowlog'-tiedostoon. Arvo '0s' tarkoittaa 'pois päältä'. ; Saatavilla olevat yksiköt: s(econds)(default), m(inutes), h(ours) tai d(ays) ; Oletusarvo: 0 request_slowlog_timeout = 1s ; Hitaiden pyyntöjen lokitiedosto ; Oletusarvo: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Aikalisä yhden pyynnön toimittamiselle, jonka jälkeen työntekijäprosessi ; tapetaan. Tätä vaihtoehtoa tulisi käyttää, kun 'max_execution_time' ini-vaihtoehto on ; ei estä skriptin suoritusta jostain syystä. Arvo '0' tarkoittaa 'pois päältä'. ; Saatavilla olevat yksiköt: s(econds)(default), m(inutes), h(ours) tai d(ays) ; Oletusarvo: 0 request_terminate_timeout = 10s Huomautus: request_terminate_timeout Lopeta prosessi, joka on ollut käynnissä liian pitkään suoraan.
request_slowlog_timeout Kirjoita tiedostoja, jotka ovat liian hitaita lokiin suoritettaviksi
Tästä lähtien voit optimoida ohjelmatiedostot hitaasti suorituslokin mukaan /usr/local/php/log/php-fpm.log.slow!
|