- 盡量少安裝PHP模塊族阅,最簡(jiǎn)單是最好(快)的
- 把你的PHP FastCGI子進(jìn)程數(shù)調(diào)到100或以上望艺,在4G內(nèi)存的服務(wù)器上200就可以(建議壓力測(cè)試來(lái)得出自己服務(wù)器合理的值)
- socket連接FastCGI睬捶,/dev/shm是內(nèi)存文件系統(tǒng)褥紫,socket放在內(nèi)存中肯定會(huì)快些
- Linux下增加文件打開數(shù)亿扁,命令如下:
cat >> /etc/security/limits.conf <<EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF
- 增加 PHP-FPM 打開文件描述符的限制:
vi $php_install_dir/etc/php-fpm.conf
rlimit_files = 51200
- 使用php代碼加速器如蚜,例如 eAccelerator, XCache.在Linux平臺(tái)上可以把
cache_dir
指向 /dev/shm
/usr/local/php/etc/php-fpm.conf
重要優(yōu)化參數(shù)詳解:
pm = dynamic
pm參數(shù)指定了進(jìn)程管理方式择镇,有兩種可供選擇:static或dynamic挡逼,從字面意思不難理解,為靜態(tài)或動(dòng)態(tài)方式腻豌。如果是靜態(tài)方式挚瘟,那么在php-fpm啟動(dòng)的時(shí)候就創(chuàng)建了指定數(shù)目的進(jìn)程,在運(yùn)行過程中不會(huì)再有變化(并不是真的就永遠(yuǎn)不變)饲梭;而動(dòng)態(tài)的則在運(yùn)行過程中動(dòng)態(tài)調(diào)整乘盖,當(dāng)然并不是無(wú)限制的創(chuàng)建新進(jìn)程,受pm.max_spare_servers參數(shù)影響憔涉;動(dòng)態(tài)適合小內(nèi)存機(jī)器订框,靈活分配進(jìn)程,省內(nèi)存兜叨。靜態(tài)適用于大內(nèi)存機(jī)器穿扳,動(dòng)態(tài)創(chuàng)建回收進(jìn)程對(duì)服務(wù)器資源也是一種消耗
pm.max_children = 24
static模式下創(chuàng)建的子進(jìn)程數(shù)或dynamic模式下同一時(shí)刻允許最大的php-fpm子進(jìn)程數(shù)量
pm.start_servers = 16
動(dòng)態(tài)方式下的起始php-fpm進(jìn)程數(shù)量
pm.min_spare_servers = 12
動(dòng)態(tài)方式下服務(wù)器空閑時(shí)最小php-fpm進(jìn)程數(shù)量
pm.max_spare_servers = 24
動(dòng)態(tài)方式下服務(wù)器空閑時(shí)最大php-fpm進(jìn)程數(shù)量
一般php-fpm進(jìn)程占用20~30m左右的內(nèi)存就按30m算。如果單獨(dú)跑php-fpm国旷,動(dòng)態(tài)方式起始值可設(shè)置物理內(nèi)存Mem/30M矛物,由于大家一般Nginx、MySQL都在一臺(tái)機(jī)器上跪但,于是預(yù)留一半給它們履羞,即php-fpm進(jìn)程數(shù)為$Mem/2/30。
LNMP在一臺(tái)機(jī)器上參數(shù)(僅供參考,建議壓力測(cè)試得出):
Mem=`free -m | awk '/Mem:/{print $2}'` #我的機(jī)器內(nèi)存是987M
sed -i "s@^pm.max_children.*@pm.max_children = $(($Mem/2/20))@" $php_install_dir/etc/php-fpm.conf
sed -i "s@^pm.start_servers.*@pm.start_servers = $(($Mem/2/30))@" $php_install_dir/etc/php-fpm.conf
sed -i "s@^pm.min_spare_servers.*@pm.min_spare_servers = $(($Mem/2/40))@" $php_install_dir/etc/php-fpm.conf
sed -i "s@^pm.max_spare_servers.*@pm.max_spare_servers = $(($Mem/2/20))@" $php_install_dir/etc/php-fpm.conf
987M內(nèi)存:
pm = dynamic
pm.max_children = 24
pm.start_servers = 16
pm.min_spare_servers = 12
pm.max_spare_servers = 24
Mon Nov 18 12:03:26 CST 2013