Linux Nginx php-fpm 优化

寻常白昼 2011-05-01

竟然没生效:
解决:
vi  /etc/security/limits.conf
文件最后加上
*        soft    nofile  51200
*        hard    nofile  51200
2、
问题:
用命令
netstat -np | grep 127.0.0.1:9000 |wc -l
发现只有100多
解决:
根据服务器内存情况,可以把PHP FastCGI子进程数调到100或以上,在4G内存的服务器上200就可以
服务器上内存为8G,我把PHP FastCGI子进程数调整到300
vi /usr/local/webserver/php/etc/php-fpm.conf
将max_children修改为300
<value name="max_children">300</value>
重启服务器,这样,网站打开速度快,而且稳定了。

When you running a highload website with PHP-FPM via FastCGI, the following tips may be useful to you : ) '
如果您高负载网站使用PHP-FPM管理FastCGI,这些技巧也许对您有用:) 
1. Compile PHP’s modules as less as possible, the simple the best (fast);
1.尽量少安装PHP模块,最简单是最好(快)的 
2. Increas PHP FastCGI child number to 100 and even more. Sometime, 200 is OK! ( On 4GB memory server);
2.把您的PHP FastCGI子进程数调到100或以上,在4G内存的服务器上200就可
注:我的1g测试机,开64个是最好的,建议使用压力测试获取最佳值 
3. Using SOCKET PHP FastCGI, and put into /dev/shm on Linux;
3.使用socket连接FastCGI,linux操作系统可以放在 /dev/shm中 
注:在php-fpm.cnf 里设置<value name="listen_address">/tmp/nginx.socket</value>就可以通过socket连接 FastCGI了,/dev/shm是内存文件系统,放在内存中肯定会快了  (这一步待确认
4. Increase Linux “max open files”, using the following command (must be root):
# echo ‘ulimit -HSn 65536′ >> /etc/profile
# echo ‘ulimit -HSn 65536 >> /etc/rc.local
# source /etc/profile
4.调高linux内核打开文件数量,可以使用这些命令(必须是root帐号)
echo 'ulimit -HSn 65536' >> /etc/profile
echo 'ulimit -HSn 65536' >> /etc/rc.local 
source /etc/profile 
注:我是修改/etc/rc.local,加入ulimit -SHn 51200的

相关推荐