php-fpm慢执行日志

做php网站,我们可以分析它的慢执行日志,当出现网站访问速度慢的情况下,我们要究其原因,此时的慢执行日志就非常重要

#vim /usr/local/php-fpm/etc/php-fpm.d/www.conf//加入如下内容
request_slowlog_timeout = 1                           //超过1秒钟就记录日志文件
slowlog = /usr/local/php-fpm/var/log/www-slow.log                       //日志文件存放的路径
#/usr/local/php-fpm/sbin/php-fpm/  -t                              //检测语法错误
#/etc/init.d/php-fpm   reload                                  //重新加载php-fpm服务
查看虚拟主机配置文件看到和[www]pool通信的站点是test.com,所以我们test.com下编辑php脚本
#vim /data/wwwroot/test.com/sleep.php                     //写入如下内容
#curl -x127.0.0.1:80 test.com/sleep.php                     //进行测试
# less /usr/local/php-fpm/var/log/www-slow.log                //查看慢执行日志

php-fpm慢执行日志、php-fpm中的pool

查看上面的慢执行日志,我们可以看到日志提示我们sleep.php中的第三行执行比较慢,这时我们就找到原因
                                              php-fpm中的pool

在php-fpm的配置文件中有一个概念叫pool,我们通过使用ps aux |grep php-fpm可以看到www就是一个pool
php-fpm慢执行日志、php-fpm中的pool_第1张图片
在我们的配置文件里只定义了一个pool,我们可以在这个pool中监听socket,也可以是ip/port,当然支持多个pool,每个站点可以使用单独的pool,如果所有站点使用一个pool,其中一个站点出现问题耗尽php的资源,其它的站点也会出现问题,此时有必要增加pool,把每个站点分开来使用单独的pool

#vim /usr/local/php/etc/php-fpm.conf//在[global]部分增加
 include = etc/php-fpm.d/*.conf 

php-fpm慢执行日志、php-fpm中的pool_第2张图片

剪切php-fpm中的配置文件的[www]pool

php-fpm慢执行日志、php-fpm中的pool_第3张图片

#mkdir /usr/local/php-fpm/etc/php-fpm.d/                 //创建php-fpm.d的目录
#cd /usr/local/php-fpm/etc/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
继续编辑配置文件 vim 123.conf //内容如下,增加一个pool
[123]
listen = /tmp/123.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 
#/usr/local/php-fpm/sbin/php-fpm –t                   //检测配置语句是否正确

php-fpm慢执行日志、php-fpm中的pool

#/etc/init.d/php-fpm restart                           //重启php-fpm服务
#ps aux |grep php-fpm 

php-fpm慢执行日志、php-fpm中的pool_第4张图片