php-fpm配置问题

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

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个空闲进程,是否会导致资源利用不均衡或者其他繁忙的实例资源不足?

阅读 2.9k
2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题