企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[toc] - 场景:在生产运行的过程中,应该一段时间监测下php脚本运行状态,哪些php进程速度太慢,有哪些错误日志。 问:如何来查看检测比较慢的php脚本呢? 答:查看php-fpm慢日志。 ## :-: **1、先查找到配置文件 的存放地址** ``` find / -name php-fpm.conf vi /usr/local/php/etc/php-fpm.conf ``` 打开看看你的慢日志是否开启,或者开启的慢日志存放在哪里。 对应的地址都换成你自己的即可。 ## :-: **2、开启 慢日志** 如果没有开启慢日志查询(默认是关闭的),先开启 ![](https://box.kancloud.cn/be4c7953b4646f65c4ad0c34a90fc624_578x154.png) 去掉request_slowlog_timeout 、slowlog的前缀分号';' slowlog 的路径,操作系统如若不会自动创建,自己手动创建 设置request_slowlog_timeout =1; #执行时间超过1s的脚本,将记录到slowlog里。 重启php-fpm ## :-: **3、观察 慢日志** ``` shell tailf /var/log/php-fpm-slowlog.log #打开慢日志 ``` 开启后,如果有脚本执行超过指定的时间,就会在指定的日志文件中写入类似如下的信息: ![](https://box.kancloud.cn/8af7e4b797fa445d97ea388a9035ccf8_675x84.png) 日志说明: script_filename 是入口文件 curl_exec() : 说明是执行这个方法的时候超过执行时间的。 exfilter_curl_get() :说明调用curl_exec()的方法是exfilter_curl_get() 。 每行冒号后面的数字是行号。 开启后,在错误日志文件中也有相关记录。如下: ``` [19-Dec-2016 15:55:37] WARNING: [pool www] child 18575, script '/home/web/htdocs/sandbox_canglong/test/tt.php' (request: "GET /test/tt.php") executing too slow (1.006222 sec), logging [19-Dec-2016 15:55:37] NOTICE: child 18575 stopped for tracing [19-Dec-2016 15:55:37] NOTICE: about to trace 18575 [19-Dec-2016 15:55:37] NOTICE: finished trace of 18575 ```