• 技术文章 >后端开发 >php教程

    解析php性能分析之php-fpm慢执行日志slow log用法

    coldplay.xixicoldplay.xixi2020-07-21 17:22:35转载983

    本文实例讲述了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 是日志文件的路径

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

    [19-Dec-2013 16:54:49] [pool www] pid 18575
    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-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
    [19-Dec-2013 15:55:37] NOTICE: child 18575 stopped for tracing
    [19-Dec-2013 15:55:37] NOTICE: about to trace 18575
    [19-Dec-2013 15:55:37] NOTICE: finished trace of 18575

    相关学习推荐:PHP编程从入门到精通

    以上就是解析php性能分析之php-fpm慢执行日志slow log用法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:jb51,如有侵犯,请联系admin@php.cn删除
    上一篇:PHP如何使用Redis?(常见使用场景介绍) 下一篇:新鲜出炉的PHP高级面试题来啦!【附答案】
    大前端线上培训班

    相关文章推荐

    • 善用php-fpm的慢执行日志slow log分析PHP执行效率和程序BUG• php-fpm的pool、PHP慢执行日志、open_basedir、php-fpm进程管理• PHP性能分析平台搭建• php 性能分析工具 xhprof

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网