php性能分析之php-fpm慢执行日志slow log用法浅析
本文实例讲述了php性能分析之php-fpm慢执行日志slowlog用法。分享给大家供大家参考,具体如下:
众所周知,mysql有slowquerylog,根据慢查询日志,我们可以知道那些sql语句有性能问题。作为mysql的好搭档,php也有这样的功能。如果你使用php-fpm来管理php的话,你可以通过如下选项开启。
PHP5.3.3之前设置如下:
<valuename="request_slowlog_timeout">5s</value> <valuename="slowlog">logs/php-fpm-slowlog.log</value>
PHP5.3.3之后设置以下如下:
request_slowlog_timeout=5s slowlog=/usr/local/php/log/php-fpm-slowlog.log
说明:
request_slowlog_timeout是脚本超过多长时间就可以记录到日志文件
slowlog是日志文件的路径
开启后,如果有脚本执行超过指定的时间,就会在指定的日志文件中写入类似如下的信息:
[19-Dec-201316:54:49][poolwww]pid18575
script_filename=/home/admin/web/htdocs/sandbox_canglong/test/tt.php
[0x0000000003a00dc8]curl_exec()/home/admin/web/htdocs/sandbox_canglong/test/tt.php:2
[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()。
每行冒号后面的数字是行号。
开启后,在错误日志文件中也有相关记录。如下:
[19-Dec-201315:55:37]WARNING:[poolwww]child18575,script'/home/admin/web/htdocs/sandbox_canglong/test/tt.php'(request:"GET/test/tt.php")executingtooslow(1.006222sec),logging
[19-Dec-201315:55:37]NOTICE:child18575stoppedfortracing
[19-Dec-201315:55:37]NOTICE:abouttotrace18575
[19-Dec-201315:55:37]NOTICE:finishedtraceof18575
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。