如何快速定位php程序运行慢的地方

2024-01-03 10:32:09

1 slow log日志

查看slowlog日志位置

编辑php-fpm.conf文件,更改或增加两行内容

slowlog = /data/logs/php-slow.log

request_slowlog_timeout = 2?

说明:slowlog定义日志路径和名字,request_slowlog_timeout定义超时时间,单位秒,即一个php脚本执行时间超过了该时间,则会记录日志。

2 重启php-fpm服务或者重载php-fpm配置,要针对master进程做操作

(1)master进程可以理解以下信号

INT, TERM 立刻终止?

QUIT 平滑终止?

USR1 重新打开日志文件?

USR2 平滑重载所有worker进程并重新载入配置和二进制模块

具体步骤

1 先查看php-fpm的master进程号

ps -aux | grep php-fpm

2 重启php-fpm:

kill -USR2 2208

(2) 如果有php-fpm.pid 可以用php-fpm.pid控制

kill -USR2 `cat /www/server/php/73/var/run/php-fpm.pid`

3 测试

我设置的超时时间request_slowlog_timeout为30秒

访问地址一下出现先下面的错误

很容易定位到了test方法里的sleep方法

如果是apache可以使用这个Xdebug+Webgrind

文章来源:https://blog.csdn.net/nihao123456789222/article/details/135356424
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。