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 //寫入如下內容
<?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