网站地图    收藏   

主页 > 后端 > php进阶知识 >

php性能分析之php-fpm的慢执行日志slow log

来源:未知    时间:2015-05-13 09:14 作者:xxadmin 阅读:

[导读] 下面我们来看一篇关于php性能分析之php-fpm的慢执行日志slow log文章,希望文章对各位有帮助. 众所周知,mysql有slow query log,根据慢查询日志,我们可以知道那些sql语句有性能问题,作为mysql的好...

下面我们来看一篇关于php性能分析之php-fpm的慢执行日志slow log文章,希望文章对各位有帮助.

众所周知,mysql有slow query log,根据慢查询日志,我们可以知道那些sql语句有性能问题,作为mysql的好搭档,php也有这样的功能,如果你使用php-fpm来管理php的话,你可以通过如下选项开启.

PHP 5.3.3 之前设置如下:

<value name=”request_slowlog_timeout”>5s</value>

<value name=”slowlog”>logs/php-fpm-slowlog.log</value>

PHP 5.3.3 之后设置以下如下:

request_slowlog_timeout = 5s

slowlog = /usr/local/php/log/php-fpm-slowlog.log

说明:

request_slowlog_timeout是脚本超过多长时间 就可以记录到日志文件

slowlog 是日志文件的路径

开启后,如果有脚本执行超过指定的时间,就会在指定的日志文件中写入类似如下的信息:

  1. [19-Dec-2013 16:54:49] [pool www] pid 18575 
  2. script_filename = /home/admin/web/htdocs/sandbox_canglong/test/tt.php 
  3. [0x0000000003a00dc8] curl_exec() /home/admin/web/htdocs/sandbox_canglong/test/tt.php:2 
  4. [0x0000000003a00cd0] exfilter_curl_get() /home/admin/web/htdocs/sandbox_canglong/test/tt.php:6 

日志说明:

script_filename 是入口文件

curl_exec():说明是执行这个方法的时候超过执行时间的。

exfilter_curl_get():说明调用curl_exec()的方法是exfilter_curl_get().

每行冒号后面的数字是行号,开启后,在错误日志文件中也有相关记录,如下:

  1. [19-Dec-2013 15:55:37] WARNING: [pool www] child 18575, script ‘/home/admin/web/htdocs/sandbox_canglong/test/tt.php’ (request: “GET /test/tt.php”) executing too slow (1.006222 sec), logging  //phpfensi.com 
  2. [19-Dec-2013 15:55:37] NOTICE: child 18575 stopped for tracing 
  3. [19-Dec-2013 15:55:37] NOTICE: about to trace 18575 
  4. [19-Dec-2013 15:55:37] NOTICE: finished trace of 18575

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论