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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 19:41:01
原創
1725 人瀏覽過

启用 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>
登入後複製

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脚本)
登入後複製

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

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

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
不完善
來自於 1970-01-01 08:00:00
0
0
0
這個課程的權限管理不完善,不嚴謹
來自於 1970-01-01 08:00:00
0
0
0
使用MongoDB如何改善資料空洞
來自於 1970-01-01 08:00:00
0
0
0
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板