PHP-vel történő weboldal fejlesztésekor, ha néhány PHP dinamikus oldal nagyon lassan érhető el a megjelenés után, elemezhetjük a weboldal szűk keresztmetszetét php-fpm lassú naplók segítségével.
A php-fpm lassú napló beállítása lehetővé teszi, hogy lássuk, mely PHP folyamatok túl lassúak és okoznak weboldalproblémákat.
Először ellenőrizze az összes folyamatot a top -c parancs segítségével, hogy lássa, a php-fpm által betöltött konfigurációs fájlcím, ahogy az alábbi ábrán látható:
FPM konfiguráció
paraméter: -p, dinamikusan módosítsd --prefix a parancssorban
include=etc/php-fpm.d/*.conf fájlt tartalmazhat, ha glob(3) létezik (glob() függvény olyan fájlnevet vagy könyvtárat ad vissza, amely megfelel a megadott mintának)
PHP-FPM betölt egy alkonfigurációs fájlt, $pool változó bármely direktívában használható, és lecseréli a megfelelő folyamatkészlet nevét. Például: itt[www]
Kapcsold be a lassú rönköket
belép/usr/local/etc/php-fpm.dAlkonfigurációs fájl, keresd meg a www.conf oldalt (a saját helyzetedhez igazítva), a PHP 5.3.3 és újabb verziók a következőképpen vannak beállítva:
; Az egyetlen kérés kiszolgálásának időkorlátja, amely után egy PHP visszakövetés következik ; A 'lassú napló' fájlba dobva. A '0' érték 'off'-ot jelent. ; Elérhető egységek: s(econds)(default), m(inutes), h(ours) vagy d(ays) ; Alapértelmezett érték: 0 request_slowlog_timeout = 1s ; A lassú kérésekhez tartozó naplófájl ; Alapértelmezett érték: /usr/local/php/log/php-fpm.log.slow slowlog = /usr/local/php/log/php-fpm.log.slow ; Az egyetlen kérés teljesítésének időkorlátja, majd a munkavállalói folyamat ; elesik. Ezt az opciót akkor kell használni, amikor a 'max_execution_time' ini opciót használjuk ; valamiért nem állítja meg a szkriptvégrehajtást. A '0' érték 'kikapcsolt' jelent. ; Elérhető egységek: s(econds)(default), m(inutes), h(ours) vagy d(ays) ; Alapértelmezett érték: 0 request_terminate_timeout = 10-es Megjegyzés: request_terminate_timeout Közvetlenül fejezd be egy folyamatot, amely túl régóta fut
request_slowlog_timeout Olyan fájlokat írj, amelyek túl lassúak a naplóba történő futtatásához
Mostantól optimalizálhatod a programfájlokat a lassú végrehajtási napló /usr/local/php/log/php-fpm.log.slow!
|