php-fpm 慢日志查询

      虽然能够经过 nginx 的 accesslog 日志查询到用户访问接口或网页消耗的时间,可是不能清晰的追踪到哪一个文件或函数慢,php

能够经过 php-fpm 慢日志查询检测 php 脚本运行状态,哪些 php 进程比较慢,有哪些错误日志nginx

      1 先查找到配置文件存放的位置web

find / -name php-fpm.conf

      打开配置文件看慢日志查询是否开启,或者开启的慢日志存放路径curl

      2 若是没有开启慢日志查询,先开启函数

         默认状况下 request_slowlog_timeout 的值为 0,表示关闭慢日志输出,因此开启慢日志查询须要将 request_slowlog_timeoutphp-fpm

设置成大于 0 的值,表示 php 脚本执行时间超过 request_slowlog_timeout 设置的时间将会被记录到 slowlog 中,而后查看慢日志对url

脚本进行对应的处理日志

        request_slowlog_timeout 和 slowlog 须要同时开启,slowlog 表示慢日志存储的位置,咱们能够自定义也能够直接使用默认的位置blog

默认的位置通常在 /data/php/log/php-fpm.log ,同时须要将 request_slowlog_timeout、slowlog 前面的分号去掉才算是开启,而后重启接口

php-fpm

       3 观察慢日志信息

         开启后,若是有脚本执行时间超过设置时间,会被记录到指定的日志文件中,格式以下(摘抄来自网上):

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

  script_filename 表示入口文件,curl_exec() 表示执行这个函数时超时,exfilter_curl_get() 表示是这个方法调用的 curl_exec() 方法,每行冒号以后

都会有数字表示行号

       开启后,对错误日志也有相关记录,以下

相关文章
相关标签/搜索