php-fpm慢執行日誌、php-fpm中的pool

                                       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                //查看慢執行日誌

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
在我們的配置文件裏只定義了一個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

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

php-fpm慢執行日誌、php-fpm中的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                   //檢測配置語句是否正確

php-fpm慢執行日誌、php-fpm中的pool

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

php-fpm慢執行日誌、php-fpm中的pool

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章