<div dir="ltr"><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">'Keep connection' does not mean what you think it means.<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">That does not tie a client connection to a backend connection. To do that, you will need stuff like <a href="http://nginx.org/en/docs/http/ngx_http_upstream_module.html#ip_hash">ip_hash</a> or more advenced session mechanisms (which are sadly not available in FOSS... yet?).<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Read the docs on <a href="http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_keep_conn">fastcgi_keep_conn</a>, which says it ensures the FastCGI connection is not close after being used, which is the normal way of doing it. Use that in relation with <a href="http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive">keepalive</a>, as instructed.<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">That means that connections to the backend will remain open after being open, so the next time the webserver addresses to them, they won't need to open a new connection to them.<br></div><div class="gmail_extra"><div><div class="gmail_signature"><font size="1"><span style="color:rgb(102,102,102)">---<br></span><b><span style="color:rgb(102,102,102)">B. R.</span></b><span style="color:rgb(102,102,102)"></span></font></div></div>
<br><div class="gmail_quote">On Fri, Mar 20, 2015 at 10:25 PM, nginxuser100 <span dir="ltr"><<a href="mailto:nginx-forum@nginx.us" target="_blank">nginx-forum@nginx.us</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, I would like nginx to serve all requests of a given TCP connection to<br>
the same FCGI server. If a new TCP connection is established, then nginx<br>
would select the next UDS FCGI server in round-robin fashion.<br>
<br>
Can this be achieved with NGINX, and if yes, how?<br>
<br>
I thought turning on fastcgi_keep_conn on would achieve this goal, but it is<br>
not what happened. My obervation was that each FCGI server took turn<br>
receiving a new request even if all the requests are from the same TCP<br>
connection.<br>
<br>
I had:<br>
<br>
upstream backend {<br>
    server unix:/tmp/fastcgi/socket1 ...;<br>
    server unix:/tmp/fastcgi/socket2 ...;<br>
    keepalive 32;<br>
}<br>
<br>
server {<br>
   ...<br>
   location <uri> {<br>
        fastcgi_keep_conn on;<br>
        fastcgi_pass  backend;<br>
}<br>
<br>
Thank you.<br>
<br>
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?2,257508,257508#msg-257508" target="_blank">http://forum.nginx.org/read.php?2,257508,257508#msg-257508</a><br>
<br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</blockquote></div><br></div></div>