<div>Hi Malte.<br>Being able to establish persistent connections would enable nginx to 'reuse' them -- thus avoiding the (small) latency of TCP slow start for each connection. Of course the question that then arises in ones mind would be 'how many permanent connections to make'--a possible answer being either a fixed number per backend, or a dynamic pool (
i.e. as many as you ever happen to need, reusing them as they are freed). It would be nice, for example, to be able to specify a certain number of maximum connections to each instance of Mongrel (running Ruby on Rails) at one, as only one can be processed at a time, and this would then guarantee load balancing between them.
</div>
<div> </div>
<div>The next step in this particular paradigm would be to have nginx specify and open a port on which backends can connect, themselves, and then have nginx automatically balance between all currently connected back ends. This would enable a user to create more mongrel instances (say on other machines) and attach them to nginx silently and without any down time.
</div>
<div> </div>
<div>In retrospect I think TCP slow start is not dramatically slow when on the same machine, and nginx already does some nice load balancing, but my suggestions might result in a minimal gain, but maybe a few milliseconds. Thoughts?
</div>
<div>Thanks.<br>-Roger<br><br> </div>
<div><span class="gmail_quote">On 9/17/07, <b class="gmail_sendername">Malte Sussdorff</b> <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:sussdorff@sussdorff.de" target="_blank">sussdorff@sussdorff.de
</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Hi Roger, which benefits do you envision from this, can you give<br>examples? I am just intrigued. Thanks Malte
<br><br>Am 17.09.2007 um 21:08 schrieb Roger Pack:<br><br>> Hmm. I then wonder if nginx has the optional ability to establish <br>> constant connections with a backend, then reuse those (i.e. its own<br>> keep-alive's with an http proxy--establish a single connection,
<br>> client A connects to nginx, nginx uses it, then after that B <br>> connects to nginx, nginx reuses A's connection for B's transfer).<br>> That might be useful. Thanks!<br>- <br>-Roger Pack<br>I like belief.
<a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.google.com/search?q=free+bible" target="_blank">http://www.google.com/search?q=free+bible</a> </blockquote></div>