PHP FPM 超时

PHP FPM 超时

我们在运行 Wordpress 的 Apache 中使用 PHP FPM。有时我注意到某些调用外部 URL 的插件会干扰 FPM,如果外部 URL 没有响应或出现其他问题,会导致大量超时等。我们在运行 mod_php 时从未遇到过此问题。我可以做些什么来让 PHP FPM 在这些情况下更好地工作?

答案1

不是。当 php-fpm 子进程正在执行引用外部 URL 的代码,并且该 URL 没有及时响应时,代码会因配置的超时而阻塞(例如 curl 连接超时),因此子进程也会阻塞并等待,无法提供服务php-fpm 套接字。当所有子级都进入该状态时,您的站点将获得 504 状态。顺便说一句,apache mod_php 的行为也是如此。所以这基本上是一个编程问题,您应该在 SO 中讨论它,而不是在 SF 中。

在 SF 上下文中你唯一能做的事情就是增加 php-fpm 中的子进程数量水池,但这通常适得其反,因为其他人迟早也会阻止这个 URL。唯一可以在不修改代码的情况下拯救你的事情是拥有比连接到你的网络服务器的用户更多的免费子节点。但这是一种充满悲伤和沮丧的方式。

相关内容