1
est 2015-03-08 12:00:10 +08:00 2
max_fails=0
fail_timeout和uWSGI里harakiri 设置时间一样。 如果是Ruby的unicorn,和 :timeout 设置一样。 所有upstream数量x每个upstream的worker数量的fail_timeout 加起来,应该不超过 proxy_read_timeout+proxy_connect_timeout 。默认是60秒。 也就是说,当upstream很忙的时候,nginx会挨个去尝试每个upstream,upstream会加入worker的处理队列,当这个所有处理能力都满了,nginx没有必要二次等待,直接返回504 gateway timeout算了。。。 |
2
luw2007 2015-03-08 23:23:29 +08:00 1
final_timeout 理解的不对吧。 请查看 http://wiki.nginx.org/HttpUpstreamModule#server 中的解释。
如果max_fails 为0,就不会去检查``fail_timeout``, 查看使用fail_timeout的源代码,就会异常清晰。 <code> if (peer->max_fails && peer->fails >= peer->max_fails && now - peer->checked <= peer->fail_timeout) </code> |