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 //写入如下内容
echo "test slow log";
sleep(2); //休眠两秒
echo "done"
?>
#curl -x127.0.0.1:80 test.com/sleep.php //进行测试
# less /usr/local/php-fpm/var/log/www-slow.log //查看慢执行日志
查看上面的慢执行日志,我们可以看到日志提示我们sleep.php中的第三行执行比较慢,这时我们就找到原因
php-fpm中的pool
在php-fpm的配置文件中有一个概念叫pool,我们通过使用ps aux |grep php-fpm可以看到www就是一个pool
在我们的配置文件里只定义了一个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中的配置文件的[www]pool
#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 //检测配置语句是否正确
#/etc/init.d/php-fpm restart //重启php-fpm服务
#ps aux |grep php-fpm