Nginx-ey-balancer (Engine Yard patch to Nginx for max_connections upstream)

So apparently Engine Y. has a patch for Nginx, called
nginx-ey-balancer, to add a max_connections directive for connections
being passed upstream.
The patch is to fix issues such as Mongrel backend servers being dropped
by Nginx (at least, that’s my understanding).

I searched the forums, though, didn’t see any mention of it.

Is Igor aware of this patch, and is this needed in Nginx for anyone
using the proxy module?
(Our backend is nginx+php-fpm, w/ nginx reverse proxy on frontend, and
will be using the load balancer in the near future).

http://github.com/ry/nginx-ey-balancer

[quote]haproxy maxconn for nginx
Adds a request queue to Nginx that allows the limiting of concurrent
requests
passed to the upstream. “max_connections N;” in an upstream directive
means
that each upstream server will be given N request at a time, per Nginx
worker. For example, if you have two workers and “max_connections 1;”
then
there will be a total of 2 requests at a time on each upstream server.

Some benchmarks: http://four.livejournal.com/955976.html

Usage:

upstream mongrels {
server 127.0.0.1:8001;
server 127.0.0.1:8002;
max_connections 1;
}[/quote]

Posted at Nginx Forum:

On Wed, 2010-09-08 at 12:40 -0400, jlangevin wrote:

So apparently Engine Y. has a patch for Nginx, called
nginx-ey-balancer, to add a max_connections directive for connections
being passed upstream.
The patch is to fix issues such as Mongrel backend servers being dropped
by Nginx (at least, that’s my understanding).

Not exactly. The issue being solved is that Rails can only handle a
single request at a time. If you don’t use Rails then this patch is
probably of little use to you.

I searched the forums, though, didn’t see any mention of it.

Is Igor aware of this patch, and is this needed in Nginx for anyone
using the proxy module?
(Our backend is nginx+php-fpm, w/ nginx reverse proxy on frontend, and
will be using the load balancer in the near future).

FPM has adaptive spawning which is probably what you want.

Cliff