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