php-fpm最大进程数设置多少合适,PHP-FPM pm.max_chindren该怎么设置?是不是越大越好? - 老牛博客...

前言:

2018年5月25日,我实在忍受不了网站的高负载了,用了一个下午直接在生产环境进行测试,终于解决了这个问题

对于云主机,负载高,极有可能是php-fpm.conf设置不对,该怎么设置,请参照以下文章,重点:pm.max_chindren不是越大越好,对于系统反而是拖累,请注意!!!

根据我的测试,云主机1核pm.max_chindren设置2足够,4核云主机pm.max_chindren设置为8即可,否则会导致负载奇高,这与虚拟主机的虚拟化技术中资源的调度也有极大关系,如果你使用的独立服务器,可以稍微设置大些,云主机单机情况下,对于高并发应用及密集计算型或数据库操作频繁的应用或网站并不适用,要达到同样的性能实际成本比使用独立服务器还高,怎么取舍,仁者见仁智者见智!!!

调整配置后,日IP5万,4核普通云主机非SSD硬盘,无压力!! php-fpm.conf配置如下:

pm = static

pm.max_children = 8

pm.start_servers = 2

pm.min_spare_servers = 1

pm.max_spare_servers = 4

pm.max_requests = 600

request_terminate_timeout = 0

request_slowlog_timeout = 5

注意,我用的static模式,只有pm.max_children参数有效,其他几个pm开头的忽略,那些在dynamic模式下才有效

如果你按我的设置,服务器还是容易出现502,那我只能说,你到这个阶段该升级了!

PHP-FPM 子进程数量,是不是越多越好?

当然不是,pm.max_chindren,进程多了,增加进程管理的开销以及上下文切换的开销。

你可能感兴趣的:(php-fpm最大进程数设置多少合适,PHP-FPM pm.max_chindren该怎么设置?是不是越大越好? - 老牛博客...)