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.