为什么重新加载php-fpm会解决502 fpm超时错误

时间:2020-04-02 06:17:05

标签: php nginx

我有一台运行nginx的服务器,它将请求转发到php-fpm 5.5版。 Fpm配置了300个静态工作者。

今天,发生了502错误的网关错误。 Nginx错误日志显示upstream timed out (110: Connection timed out) while reading response header from upstream,而php慢日志显示curl_exec需要时间(curl已配置为3秒超时)。

我用kill -USR2 `pgrep -f 'fpm.+master'`重新启动fpm之后,情况恢复正常了好几个小时。

现在我想知道为什么重新加载fpm可以解决此问题?

  1. 超时是否由太多请求引起?似乎Nginx已与fpm连接,但fpm在预期时间内没有响应。甚至无法到达fpm的新请求会发生什么?

  2. 超时是否是由等待卷发的fpm工人引起的?如果是这样,则意味着所有新工作人员将再次阻塞以处理这些请求,但是重新加载它无济于事。

0 个答案:

没有答案