php 慢执行日志,12.22 php-fpm慢执行日志

php-fpm慢执行日志目录概要

vim /usr/local/php-fpm/etc/php-fpm.d/www.conf//加入如下内容

request_slowlog_timeout = 1

slowlog = /usr/local/php-fpm/var/log/www-slow.log

配置nginx的虚拟主机test.com.conf,把unix:/tmp/php-fcgi.sock改为unix:/tmp/www.sock

重新加载nginx服务

vim /data/wwwroot/test.com/sleep.php//写入如下内容

echo “test slow log”;

sleep(2);echo “done”;

?>

curl -x127.0.0.1:80 test.com/sleep.php

cat /usr/local/php-fpm/var/log/www-slow.log

php-fpm慢执行日志

在做php网站的时候,建议使用lnmp,因为我们可以分析php的慢执行

查询方法:

1.系统负载,可以通过各种工具查,查出是哪个进程导致

2.PHP网站访问慢,通过查看慢日志

配置www.conf 在配置文件中加入

request_slowlog_timeout = 1 //超过一秒钟就要记录日志

slowlog = /usr/local/php-fpm/var/log/www-slow.log //日志放到该路径下

最终如下

[root@hanfeng php-fpm.d]# vim www.conf

[www]

listen = /tmp/php-fcgi.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 = 1

slowlog = /usr/local/php-fpm/var/log/www-slow.log

保存退出

查看语法错误,并重新加载

[root@hanfeng php-fpm.d]# /usr/local/php-fpm/sbin/php-fpm -t

[10-Jan-2018 00:04:26] NOTICE: configuration file /usr/local/php-fpm/etc/php-fpm.conf test is successful

[root@hanfeng php-fpm.d]# /etc/init.d/php-fpm reload

Reload service php-fpm done

[root@hanfeng php-fpm.d]#

查看/usr/local/php-fpm/var/log/www-slow.log日志是否生成

[root@hanfeng php-fpm.d]# ls /usr/local/php-fpm/var/log/

php-fpm.log www-slow.log

[root@hanfeng php-fpm.d]#

查看日志会看到没有内容,因为没有超过一秒php执行的过程

[root@hanfeng php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log

[root@hanfeng php-fpm.d]#

模拟一个慢执行的php,写一个脚本,由于php-fcgi它是被在test这个站点用着,所以需要在这个/data/wwwroot/test.com目录下做一些操作

[root@hanfeng php-fpm.d]# vim /data/wwwroot/test.com/sleep.php

加入php休眠两秒钟,故意让它执行慢

echo “test slow log”;

sleep(2);echo “done”;

?>

保存退出

php可以不换行,写成一行

运行php脚本,但是未输出信息,检测会看到状态码为500,说明有错误

[root@hf-01 php-fpm.d]# curl -x127.0.0.1:80 test.com/sleep.php

[root@hf-01 php-fpm.d]# curl -x127.0.0.1:80 test.com/sleep.php -I

HTTP/1.1 500 Internal Server Error

Server: nginx/1.12.1

Date: Tue, 09 Jan 2018 21:47:48 GMT

Content-Type: text/html; charset=UTF-8

Connection: keep-alive

X-Powered-By: PHP/5.6.30

[root@hf-01 php-fpm.d]#

可以查看错误日志,但有更简单的方法就是打开它的配置文件

[root@hf-01 php-fpm.d]# vim /usr/local/php-fpm/etc/php.ini

搜索 /display ,找到display_errors

将display_errors = Off 改为display_errors = On

打开display_errors之后,就可以在浏览器上查看到具体的错误是什么

重启php

[root@hf-01 php-fpm.d]# /etc/init.d/php-fpm reload

Reload service php-fpm done

[root@hf-01 php-fpm.d]#

检查错误,会看到语法错误,有可能是逗号,分号写的不对

[root@hf-01 php-fpm.d]# curl -x127.0.0.1:80 test.com/sleep.php

Parse error: syntax error, unexpected 'slow' (T_STRING), expecting ',' or ';' in /data/wwwroot/test.com/sleep.php on line 2

[root@hf-01 php-fpm.d]#

检查sleep.php文件,发现里面使用的中文标点,更改后重启配置

[root@hf-01 php-fpm.d]# vim /data/wwwroot/test.com/sleep.php

echo "test slow log";

sleep(2);

echo "done";

?>

保存退出

[root@hf-01 php-fpm.d]# /etc/init.d/php-fpm reload

Reload service php-fpm done

[root@hf-01 php-fpm.d]#

再来测试,访问成功,会看到访问的时候停顿了几秒

[root@hf-01 php-fpm.d]# curl -x127.0.0.1:80 test.com/sleep.php

test slow logdone[root@hf-01 php-fpm.d]#

查看是否生成了慢日志

[root@hf-01 php-fpm.d]# cat /usr/local/php-fpm/var/log/www-slow.log

[10-Jan-2018 06:02:21] [pool www] pid 3442

script_filename = /data/wwwroot/test.com/sleep.php //提示:是哪个脚本慢

[0x00007f37c5f7c298] sleep() /data/wwwroot/test.com/sleep.php:3 //提示:是脚本的第三慢

[root@hf-01 php-fpm.d]#

这个就是慢执行日志的功效

在遇到php网站访问慢的时候,就可以去查看慢日志

查看www.conf

[root@hf-01 php-fpm.d]# cat www.conf

[www]

listen = /tmp/php-fcgi.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 = 1 //一般写两秒,很多脚本都会超过一秒

slowlog = /usr/local/php-fpm/var/log/www-slow.log

[root@hf-01 php-fpm.d]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值