simplely, I get the health of the upstreams using the ngx_http_upstream_rr_peer_t::fails and the ngx_http_upstream_rr_peer_t::max_fails. if fails &lt; max-fails, I think the server died, else I think the server has got up.<br>
<br><div class="gmail_quote">2009/6/11 Michael Shadle <span dir="ltr">&lt;<a href="mailto:mike503@gmail.com">mike503@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Wed, Jun 10, 2009 at 2:45 PM, merlin corey&lt;<a href="mailto:merlincorey@dc949.org">merlincorey@dc949.org</a>&gt; wrote:<br>
&gt; How often do you really expect servers to go up and down?  I think you<br>
&gt; are correct, though, HUP can take a bit of time/resources.  My point<br>
&gt; is, are you really having upstreams die constantly?  Seems like you<br>
&gt; would have much worse problems than what it takes to HUP at that<br>
&gt; point...<br>
<br>
</div>In an infrastructure with 10&#39;s or 100&#39;s of servers, in theory you<br>
could have one going up and down anytime.<br>
<br>
Look at Amazon&#39;s whitepaper about Dynamo or how Google addresses the<br>
whole &quot;commodity&quot; issue. Things will go up and down at anytime, and<br>
you should gracefully handle it. nginx is almost capable of gracefully<br>
doing it (mid-transfer I don&#39;t think it would unless the client<br>
re-issued the request with a range offset) but with the<br>
try-next-upstream approach it gracefully handles that already...<br>
<br>
I&#39;m looking to have a solution in place which can scale and is &quot;set it<br>
and forget it&quot; - a HUP may be a lot of work, especially if nginx is<br>
being the frontend for so many connections/servers. I don&#39;t know. I<br>
guess Igor/Maxim would be the most knowledgeable about what exactly a<br>
HUP will do to all of that...<br>
<br>
</blockquote></div><br>