Kui arendame veebilehte PHP-ga, kui mõned PHP dünaamilised lehed on pärast käivitamist väga aeglaselt kättesaadavad, saame analüüsida veebisaidi kitsaskohta php-fpm aeglaste logide kaudu.
PHP-FPM aeglase logi seade võimaldab meil näha, millised PHP protsessid on liiga aeglased ja põhjustavad veebilehe probleeme.
Esiteks kontrollige kõiki protsesse käsuga top -c, et näha php-fpm poolt laaditud konfiguratsioonifaili aadressi, nagu näidatud alloleval joonisel:
FPM konfiguratsioon
parameeter: -p, dünaamiliselt muuta --prefix käsureal
include=etc/php-fpm.d/*.conf, et sisaldada ühte või mitut faili, kui glob(3) eksisteerib (glob() funktsioon tagastab failinime või kataloogi, mis vastab määratud mustrile)
php-fpm laadib alamkonfiguratsioonifaili, $pool muutujat saab kasutada igas direktiivis ning see asendab vastava protsessigrupi nime. Näiteks: siin[www]
Lülita sisse aeglased logid
sisestama/usr/local/etc/php-fpm.dAlamkonfiguratsioonifail, leia www.conf (vastavalt sinu tegelikule olukorrale), PHP 5.3.3 ja uuemad versioonid on seatud järgmiselt:
; Ühe päringu teenindamise aeg, mille järel tehakse PHP tagasijälgimine ; visati 'slowlogi' faili. Väärtus '0s' tähendab 'off'. ; Saadaval ühikud: s(econds)(vaikimisi), m(inutes), h(ours) või d(ays) ; Vaikimisi väärtus: 0 request_slowlog_timeout = 1s ; Aeglaste päringute logifail ; Vaikimisi väärtus: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Ühe taotluse täitmise aeg on pärast töötaja protsessi ; tapetakse. Seda valikut tuleks kasutada, kui 'max_execution_time' ini valik ; ei peata mingil põhjusel skripti täitmist. Väärtus '0' tähendab 'väljas'. ; Saadaval ühikud: s(econds)(vaikimisi), m(inutes), h(ours) või d(ays) ; Vaikimisi väärtus: 0 request_terminate_timeout = kümned Märkus: request_terminate_timeout Lõpeta protsess, mis on töötanud liiga kaua otse
request_slowlog_timeout Kirjuta faile, mis on logisse käivitamiseks liiga aeglased
Edaspidi saad programmifaile optimeerida aeglase täitmise logi /usr/local/php/log/php-fpm.log.slow! järgi!
|