Kurdami svetainę naudodami PHP, jei kai kurie PHP dinaminiai puslapiai po paleidimo yra labai lėti, galime analizuoti svetainės kliūtį naudodami php-fpm lėtus žurnalus.
PHP-FPM Slowlog nustatymas leidžia mums pamatyti, kurie PHP procesai yra per lėti ir sukelia svetainės problemų.
Pirmiausia patikrinkite visus procesus naudodami komandą viršuje -c, kad pamatytumėte konfigūracijos failo adresą, įkeltą php-fpm, kaip parodyta paveikslėlyje žemiau:
FPM konfigūracija
parametras: -p, dinamiškai modifikuoti --priešdėlis komandinėje eilutėje
include=etc/php-fpm.d/*.conf, kad būtų vienas ar daugiau failų, jei egzistuoja glob(3) (funkcija glob() grąžina failo pavadinimą arba katalogą, atitinkantį nurodytą šabloną)
PHP-FPM įkelia subkonfigūracijos failą, $pool kintamasis gali būti naudojamas bet kurioje direktyvoje, ir jis pakeis atitinkamą procesų telkinio pavadinimą. Pavyzdžiui: čia[www]
Lėtų žurnalų įjungimas
įeiti/usr/local/etc/php-fpm.dSub-konfigūracijos failą, raskite www.conf (pagal jūsų faktinę situaciją), PHP 5.3.3 ir naujesnės versijos nustatomos taip:
; Vienos užklausos įteikimo laikas, po kurio PHP atgalinis atsekimas bus ; išmesti į "slowlog" failą. Reikšmė "0s" reiškia "išjungta". ; Galimi vienetai: s(econds)(default), m(inutes), h(ours) arba d(ays) ; Numatytoji reikšmė: 0 request_slowlog_timeout = 1 s ; Lėtų užklausų žurnalo failas ; Numatytoji reikšmė: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Vienos užklausos įteikimo laikas, po kurio bus vykdomas darbuotojo procesas ; būti nužudytas. Ši parinktis turėtų būti naudojama, kai "max_execution_time" ini parinktis ; dėl tam tikrų priežasčių nesustabdo scenarijaus vykdymo. Reikšmė "0" reiškia "išjungta". ; Galimi vienetai: s(econds)(default), m(inutes), h(ours) arba d(ays) ; Numatytoji reikšmė: 0 request_terminate_timeout = 10 s Pastaba: request_terminate_timeout Per ilgai veikiančio proceso nutraukimas tiesiogiai
request_slowlog_timeout Rašyti failus, kurie yra per lėti, kad juos būtų galima vykdyti į žurnalą
Nuo šiol galite optimizuoti programos failus pagal lėtą vykdymo žurnalą /usr/local/php/log/php-fpm.log.slow!
|