Issue with nginx not waiting for a response from mongrel

This might be more of a mongrel issue, not sure where the problem lies.

We are proxying mongrels behind an instance of nginx 0.6.29 and are
seeing situations where nginx passes off a request to a mongrel but
then doesnt wait for a response. Note it is not timing out, we are
logging the upstream response time and all of these cases are less
than the default 60s proxy_read_timeout value.

In a possibly related issue, nginx will continue to send requests to a
busy mongrel (which I think just queues them?). By analyzing the Rails
log and matching it up with the nginx access log with upstream timing
we can see that nginx is issuing multiple requests to a mongrel when
clearly its busy. Ultimately this will result in a long running
process and then seemingly nginx getting confused.

All of the proxy_read, connect timeout values are not specified - so
the defaults are being used.

Thanks
-Rupert

By default, nginx proxying is just round-robin. The fair proxy
balancer will try to avoid overloading your mongrels.

http://wiki.codemongers.com/NginxHttpUpstreamFairModule

W. andrew Loe iii wrote:

By default, nginx proxying is just round-robin. The fair proxy
balancer will try to avoid overloading your mongrels.

http://wiki.codemongers.com/NginxHttpUpstreamFairModule

I think he wants a feature like a per-server max connection (as
haproxy). This transforms server into a request buffer between the
thousands of
clients and the few backend servers.