php-fpm慢执行日志
作php网站,咱们能够分析它的慢执行日志,当出现网站访问速度慢的状况下,咱们要究其缘由,此时的慢执行日志就很是重要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 //写入以下内容
<?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
#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