NGINX + PHP-FPM 突发请求问题

NGINX + PHP-FPM 突发请求问题

我使用 PHP7.2-FPM 设置了 NGINX,但遇到了突发请求问题。平均活动进程 (fpm 子进程) 数量为 15。

我有这些设置(48 核服务器):

listen.backlog = 1024
pm.max_children = 1024
pm.start_servers = 16
pm.min_spare_servers = 8
pm.max_spare_servers = 16
pm.max_requests = 5000

我还测试了最少 256 个备用服务器,这降低了但并没有解决 的问题Resource temporarily unavailable。显然,这不是用于生产的设置,只是为了看看这么多的工作人员是否能处理突发事件的大小。

我也尝试了 65536 的 listen.backlog,但没有什么变化。

有什么办法吗?如果它将请求排队,就不会出现任何问题。

编辑:我刚刚注意到 fpm-status 总是报告max listen queue为 0

答案1

通过增加系统来解决net.core.somaxconn。fpm-status 似乎在与方面出现故障max listen queue,它始终显示 0。

相关内容