当前位置:朝夕网 » 数码科技 » PHP-FPM高负载的解决办法

PHP-FPM高负载的解决办法

导致nginx 502 bad gateway的PHP-CGINGINX频爆502 BAD GATEWAY的错误,看了网上的教程,仍没有彻底解决。目前我总结的解决502 BAD GATEWAY的方式有

导致nginx 502 bad gateway的PHP-CGINGINX频爆502 BAD GATEWAY的错误,看了网上的教程,仍没有彻底解决。

目前我总结的解决502 BAD GATEWAY的方式有:1.视服务器的性能,在php-fmp.conf里增加max_children的值,我目前用的15.2.用reload参数定时重载php-fpm。这个主要原因是php脚本执行时间过长造成的,重载php-fpm能杜绝这个问题。如何彻底解决php-cgi脚本占用大量内存从而导致502错误的产生还值得进一步探讨,目前该做法不失为一种好办法。具体的做法是,用crontab让php-fpm平滑重启,从而不影响PHP脚本的运行。*/10 * * * * /usr/local/php/sbin/php-fpm reloadWhen 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 ;1.尽量少安装PHP模块,最简单是最好(快)的2. Increas PHP FastCGI child number to 100 and even more. Sometime, 200 is OK! ;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 : echo ‘ulimit -HSn 65536 >> /etc/rc.local vi /path/to/php-fpm.confFind “<value name=”rlimit_files”>1024</value>”Change 1024 to 4096 or higher number.Restart PHP-FPM.

5. 增加 PHP-FPM 打开文件描述符的限制:# vi /path/to/php-fpm.conf找到“<value name=”rlimit_files”>1024</value>”把1024 更改为 4096

以上就是朝夕生活(www.30zx.com)关于“PHP-FPM高负载的解决办法”的详细内容,希望对大家有所帮助!

免责声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。朝夕网 » PHP-FPM高负载的解决办法