1、查看php-fpm的進程個數
ps -fe |grep "php-fpm"|grep "pool"|wc -l
2、查看每個php-fpm佔用的內存大小
ps -ylC php-fpm --sort:rss
3、查看單個php-fpm進程消耗內存的明細
pmap $(pgrep php-cgi | head -1)
這裏可以根據需要減少不必要的模塊加載。
php-fpm的參數優化
pm = dynamic #對於專用服務器,pm可以設置爲static。#如何控制子進程,選項有static和dynamic。如果選擇static,則由pm.max_children指定固定的子進程數。如果選擇dynamic,則由下開參數決定:
pm.max_children #子進程最大數
pm.start_servers #啓動時的進程數
pm.min_spare_servers #保證空閒進程數最小值,如果空閒進程小於此值,則創建新的子進程
pm.max_spare_servers #保證空閒進程數最大值,如果空閒進程大於此值,此進行清理
對於內存大的服務器(比如8G以上)來說,指定靜態的max_children
實際上更爲妥當,因爲這樣不需要進行額外的進程數目控制,會提高效率。
對於內存小的服務器,使用動態方式。具體最大數量根據 內存/20M 得到。比如512M的VPS,建議pm.max_spare_servers
設置爲20。至於pm.min_spare_servers
,則建議根據服務器的負載情況來設置,比較合適的值在5~10之間。
作者:格吾剛哥
鏈接:http://www.jianshu.com/p/0aece01b8536
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。