Kubernetes中php-fpm ondemand模式下始终有一个worker进程运行的排查求助
Kubernetes中php-fpm ondemand模式下始终有一个worker进程运行的排查求助
大家好,我现在碰到一个费解的问题:我们在Kubernetes环境中部署了php-fpm 8.1的容器,为了节省资源,特意把php-fpm配置成了ondemand模式:
pm = ondemand pm.max_children = 5 pm.max_requests = 1000
目前应用完全处于闲置状态——访问日志是空的,没有任何外部请求进来,但这个php-fpm进程池里始终有一个worker进程在运行。我想弄清楚到底是什么触发了这个worker进程的生成,已经做了一些排查但没找到原因,想请教大家有没有思路。
我已经排查过的内容:
- 用
netstat查看网络连接:php-fpm主进程监听9000端口,仅关联了两个unix socket(应该对应stdout和stderr),没有其他异常连接 - 访问日志完全为空,确认确实没有用户请求进入
- 核对配置:
pm.min_spare_servers默认值是1,但配置文件明确说明这个参数仅在dynamic调度模式下生效,我们用的是ondemand,理论上不会受这个参数影响 - 把相同的配置拿到Kubernetes外部运行时,空闲状态下不会有worker进程留存(或者所有worker都会退出),只有在K8s环境里才会始终留一个worker
备注:内容来源于stack exchange,提问作者roelvanmeer
相关产品推荐
相关产品推荐

