Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14157|Resposta: 0

[Web] Habilitar a configuração de log lento no nginx php-fpm (para detectar scripts PHP de execução lenta)

[Copiar link]
Publicado em 23/10/2014 23:49:24 | | |

Muitos webmasters têm problemas com 500.502 problemas após mudarem para nginx+php-fpm. Quando nginx recebe o código de erro acima, pode-se determinar que há algum tipo de problema com o php-fpm de análise do php no backend, como erro de execução ou tempo limite de execução.

php-fpm.conf tem um parâmetro request_slowlog_timeout descrito assim

  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
Copiar código

Quando request_slowlog_timeout é definido para um segundo específico request_slowlog_timeout =5, significa que se um script for executado por mais de 5 segundos, o script será registrado no arquivo de log lento


request_slowlog_timeout =0 significa que a saída lenta de logs está desligada.

A localização do arquivo de log slow está na pasta de log no diretório de instalação php por padrão, e você pode especificá-la modificando o parâmetro slowlog = log/$pool.log.slow.

Exemplo do log lento do PHP-FPM, o log lento vai registrar o número do processo, nome do script, arquivo específico qual linha de código, qual função é longa demais para ser executada.

  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'
Copiar código

request_slowlog_timeout e slowlog precisam ser definidos ao mesmo tempo, e você precisa ativar o slowlog ao mesmo tempo em que liga o 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)
Copiar código

Caminhos de log lentos precisam ser criados manualmente


Passos específicos para habilitar o registro lento em 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
Copiar código






Anterior:Ao postar, o processo php-fpm alcança instantaneamente 99% da CPU, análise de falhas
Próximo:Divina Comédia dos Irmãos Chopstick "Maçãzinha" Oi você, tem uma garota linda
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com