LNMP-php-fpm慢执行日志
在LNMP环境中,用户反映返回网站出现很慢,通常情况下我们可能想到先查看系统的负载,以及网络连接情况是否有关,除此之外也可以通过php-fpm开启慢执行日志查询原因,分析网站是否因为php文件导致网站卡慢。
1:编写php-fpm的conf文件
[root@host2 ~]# vim /usr/local/php-fpm/etc/php-fpm.d/test.conf
说明:request_slowlog_timeout定义站点php文件响应超时时间,一般1-2秒;slowlog定义慢执行日志存放路径。
加入以下红色内容
[test]
listen = /tmp/test.sock
listen.mode=666
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
request_slowlog_timeout = 2
slowlog = /usr/local/php-fpm/var/log/test-slow.log
2:重新启动php-fpm服务
[root@host2 ~]# /etc/init.d/php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm done
这边Nginx虚拟主机事先已经配置完成,不需要进行操作,配置如下
[root@host2 ~]# cat /usr/local/nginx/conf/vhosts/test.conf
server{
listen 80;
server_name www.test.com;
access_log /tmp/test.com-access.log;
error_log /tmp/test.com-error.log;
root /data/www/test_com;
location ~ \.php$ {
root html;
fastcgi_pass unix:/tmp/test.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www/test_com$fastcgi_script_name;
include fastcgi_params;
}
}
3:写一个测试PHP超时脚本文件
[root@host2 ~]# vim /data/www/test_com/sleep.php
<?php
echo "test slow log";
sleep(3);
echo "done";
?>
4:curl访问测试结果
[root@host2 ~]# curl -x127.0.0.1:80 www.test.com/sleep.php
test slow logdone
如果访问出现语法错误,没有显示任何输出信息,修改php.ini文件,打开display_errors = on参数,这样就可以具体错误输出信息。
5:查看慢执行日志输出信息,如果访问php文件没有超过3秒,慢执行日志不输出任何信息
[root@host2 etc]# cat /usr/local/php-fpm/var/log/test-slow.log
[08-Oct-2019 08:04:27] [pool test] pid 8470
script_filename = /data/www/test_com/sleep.php
[0x00007fdc4c89d278] sleep() /data/www/test_com/sleep.php:3
记录每一天有趣的事情!!

浙公网安备 33010602011771号