Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 14157|Odgovoriti: 0

[Web] Omogočite počasno upravljanje dnevnikov v nginx php-fpm (za zaznavanje počasnega izvajanja PHP skript)

[Kopiraj povezavo]
Objavljeno na 23. 10. 2014 23:49:24 | | |

Veliko spletnih skrbnikov ima težave s 500.502 težavami po prehodu na nginx+php-fpm. Ko nginx prejme zgornjo kodo napake, lahko ugotovimo, da gre za neko težavo s php-fpm razčlenjevanjem php v ozadju, kot je napaka pri izvajanju ali časovna omejitev izvajanja.

php-fpm.conf ima parameter request_slowlog_timeout opisan takole

  1. ; The timeout for serving a single request after which a PHP backtrace will be
  2. ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
  3. ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
  4. ; Default Value: 0
  5. ;request_slowlog_timeout = 0
Kopiraj kodo

Ko je request_slowlog_timeout nastavljeno na določen sekundni request_slowlog_timeout =5, to pomeni, da če se skripta izvaja več kot 5 sekund, bo zapisana v počasni dnevnik datoteki


request_slowlog_timeout =0 pomeni, da je počasen izhod loga izklopljen.

Lokacija slow log datoteke je privzeto v mapi dnevnik v namestitveni mapi php, ki jo lahko določite tako, da spremenite parameter slowlog = log/$pool.log.slow.

Primer počasnega dnevnika PHP-FPM, počasni dnevnik beleži številko procesa, ime skripte, specifično datoteko, katero vrstico kode in katero funkcijo je predolgo za izvajanje.

  1. [21-Nov-2013 14:30:38] [pool www] pid 11877
  2. script_filename = /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php
  3. [0xb70fb88c] file_get_contents() /usr/local/lnmp/nginx/html/www.quancha.cn/www/fyzb.php:2
  4. [21-Nov-2013 14:15:23] ERROR: [pool www] 'slowlog' must be specified for use with 'request_slowlog_timeout'
Kopiraj kodo

request_slowlog_timeout in počasni zapis morata biti nastavljena hkrati, počasni zapis pa moraš vklopiti hkrati z vklopom request_slowlog_timeout

  1. [21-Nov-2013 14:16:27] ERROR: Unable to create or open slowlog(/usr/local/lnmp/php/log/www.log.slow): No such file or directory (2)
Kopiraj kodo

Počasne loganske poti je treba ustvariti ročno


Specifični koraki za omogočanje počasnega beleženja php-fpm:

  1. cd /usr/local/lnmp/php

  2. vi etc/php-fpm.conf
  3. 去掉request_slowlog_timeout 、slowlog的前缀分号';',设置request_slowlog_timeout =5;
  4. :wq
  5. 保存退出
  6. 创建慢日志目录
  7. mkdir log
  8. 重启php-fpm
  9. kill -INT `cat var/run/php-fpm.pid
  10. sbin/php-fpm
Kopiraj kodo






Prejšnji:Pri objavi proces php-fpm takoj doseže 99 % procesorja, analiza napak
Naslednji:Božanska komedija Chopstick Brothers "Mala jabolka" Živjo, tam je lepa punca
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com