欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php-fpm配置问题

程序员文章站 2022-04-24 09:41:10
...
请大家帮忙看看下面的配置是否合理?
pm = dynamic
pm.max_children = 40
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 40
 
pm.max_requests = 5000

我一直以为 max_spare_servers是指定最大的空闲php进程数量,在一台机器上跑了若干个运行php环境的docker实例,如果空闲的实例也一直保持40个空闲进程,是否会导致资源利用不均衡或者其他繁忙的实例资源不足?

回复内容:

请大家帮忙看看下面的配置是否合理?

pm = dynamic
pm.max_children = 40
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 40
 
pm.max_requests = 5000

我一直以为 max_spare_servers是指定最大的空闲php进程数量,在一台机器上跑了若干个运行php环境的docker实例,如果空闲的实例也一直保持40个空闲进程,是否会导致资源利用不均衡或者其他繁忙的实例资源不足?

会! 空闲的进程不但要占着内存,而且还要占着上次请求里没有释放的内存,如果最大空闲量开得过大,很容易内存飙高而且长时间不回落(可以通过监控看到)。
建议最大空闲不要开太多,另外 pm.max_requests 可以有效降低刚才说的那种情况,5000还是比较合适的。

空闲进程不占CPU,只会占用一定的内存。

相关标签: php php-fpm