通过启用php-fpm的slowlog来解决PHP CPU占用过高问题,php-fpmslowlog开启方法如下:编辑p
通过启用php-fpm的slowlog来解决PHP CPU占用过高问题,php-fpmslowlog开启方法如下:编辑p
前阵子通过top发现PHP-fpm的进程很高,网站打开速度很慢,估计肯定某个php脚本执行时间过长,所以开启了php-fpm的slowlog来跟踪哪些php脚本执行过慢。
开启方法如下:
编辑php-fpm.conf
文件
request_slowlog_timeout = 0
这一行,默认值为0,表示不开启slowlog,将其值改为3s,表示跟踪执行时间达到或超过3s的脚本。找到slowlog,它的值表示慢执行日志的路径。修改完后需要重启php,slowlog的文件的内容大概是这样的:
[31-Dec-2012 09:50:00] [pool www] pid 2874 script_filename = /htdocs/blog/index.php [0x0000000001cf4ff0] mysql_query() /htdocs/blog/class/mysql.php:9 [0x0000000001cf4ec0] query() /htdocs/blog/class/mysql.php:26 [0x0000000001cf4a70] one() /htdocs/blog/class/ware.php:88 [0x0000000001cf46c8] query() /htdocs/blog/function/common.php:132 [0x0000000001cf3a40] +++ dump failed
这样就可以很明显看到什么mysql.php的mysql_query()
方法执行的语句超时了。
评论暂时关闭