Home > php教程 > php手册 > 善用php-fpm的慢执行日志slow log分析PHP执行效率和程序BUG

善用php-fpm的慢执行日志slow log分析PHP执行效率和程序BUG

WBOY
Release: 2016-06-06 19:41:01
Original
1714 people have browsed it

启用 php-fpm 的 slow log 日志 ,查看 执行 时间过长的php文件,并将 执行 时间过长的进程直接终止掉!看看效果如何! 具体操作方法也简单,就修改一个文件, 执行 命令:# vi /usr/local/php/etc/php-fpm.conf PHP 5.3.3 之前版本设置如下: The timeout (

启用 php-fpm 的 slow log 日志,查看执行时间过长的php文件,并将执行时间过长的进程直接终止掉!看看效果如何!

具体操作方法也简单,就修改一个文件,执行命令:# vi /usr/local/php/etc/php-fpm.conf

PHP 5.3.3 之前版本设置如下:

      The timeout (in seconds) for serving a single request after which the worker process will be terminated
      Should be used when 'max_execution_time' ini option does not stop script execution for some reason
      '0s' means 'off'
      <value name="<span><strong>request_terminate_timeout</strong></span>"><span><strong>10s</strong></span></value>
      The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
      '0s' means 'off'
      <value name="<span><strong>request_slowlog_timeout</strong></span>"><span><strong>1s</strong></span></value>
      The log file for slow requests
      <value name="slowlog">logs/slow.log</value>
Copy after login

PHP 5.3.3 之后版本设置如下:

; The timeout for serving a single request after which a PHP backtrace will be
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
request_slowlog_timeout = 1s  (对<strong><strong>执行</strong></strong>时间超过1s的php脚本进行<strong>日志</strong>记录)

; The log file for slow requests
; Default Value: /usr/local/php/var/log/php-fpm.log.slow
slowlog = /usr/local/php/var/log/php-fpm.log.slow (开启慢<strong><strong>执行</strong></strong><strong>日志</strong>,<strong>日志</strong>目录路径一定要正确存在,否则会报错)

; The timeout for serving a single request after which the worker process will
; be killed. This option should be used when the 'max_execution_time' ini option
; does not stop script execution for some reason. A value of '0' means 'off'.
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
; Default Value: 0
request_terminate_timeout = 30s (当php脚本<strong><strong>执行</strong></strong>时间超过30秒后终止该php脚本)
Copy after login

注:request_terminate_timeout 将执行时间太长的进程直接终止

request_slowlog_timeout 将执行过慢的文件写入日志

以后即可根据慢执行日志 /usr/local/php/var/log/slow.log 来优化程序文件了!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template