Trying to Understand Upstream Keepalive

Maxim Dounin mdounin at mdounin.ru
Wed Oct 29 17:53:05 UTC 2014


Hello!

On Wed, Oct 29, 2014 at 01:15:56PM -0400, newnovice wrote:

> Maxim Dounin Wrote:
> -------------------------------------------------------
> > Hello!
> > 
> > On Tue, Oct 28, 2014 at 08:01:33PM -0400, newnovice wrote:
> > 
> > > Maxim, 
> > > 
> > >
> > http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive
> > > 
> > > I would like to know what is the keepalive timeout for this
> > connection pool?
> > > Is it static? 
> > 
> > As of now, there is no timeout on nginx side.  Connections are 
> > closed either by backends or if there isn't enough room in 
> > the cache.
> 
> So how long after a connection to upstream goes from ACTIVE to idle in the
> connection pool does it get closed? 
> There is not really much documentation on this upstream keepalive component.

That's unspecified, see above.

> > > Also i want to understand - if there is a marriage between number of
> > > connections nginx gets vs how many it opens to upstream? 
> > 
> > This depends on how long it takes to process a request (as well as 
> > various other factors).  As long as backends are fast enough, one 
> > connection to upstream may be enough to handle tens or hundreds of 
> > client connections.
> 
> Ok. 
> What is the difference between 'max_conns' vs
> http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html#limit_conn to
> an upstream service ? 

The "max_conns" parameter (only available in nginx-plus) limits 
the number of active connections to an upstream server, while 
limit_conn limits the number of active connections to a particular 
location.  This difference may be significant, for example, in the 
following cases:

- there are many upstream servers in a single upstream{} block;

- some responses are returned from cache;

- responses are large enough and clients are slow, so responses 
  are buffered by nginx for a long time.

-- 
Maxim Dounin
http://nginx.org/



More information about the nginx mailing list