被调试为PHP-FPM引起的非常特殊的情况。
我的前端(反应)立即启动11 AJAX请求。 HTTP2和NGINX允许将它们向上传递到PHP-FPM。 PHP-FPM具有默认设置,因此max_children为5。这会使PHP-FPM进入某种“阻止”模式,并且在一定的时间(3-5分钟)内不接受请求。
我能够按需复制此问题,并通过重新启动PHP-FPM服务来消除此问题。也可以通过更改池设置完全解决它。
我找不到具有防洪功能的PHP-FPM的任何信息。 错误日志文件为空。
对理解PHP-FPM如何发出必须超过池配置所允许的请求的请求非常感兴趣吗?
以及为什么它没有以任何方式向NGINX发出错误信号,而是允许NGINX在处于“阻止”模式时在fastcgi_read_timeout设置上超时。