upstream keepalive: call for testing
    Maxim Dounin 
    mdounin at mdounin.ru
       
    Tue Aug  2 15:26:01 UTC 2011
    
    
  
Hello!
On Tue, Aug 02, 2011 at 05:08:11PM +0200, Thomas Love wrote:
> On 29 July 2011 17:36, Maxim Dounin <mdounin at mdounin.ru> wrote:
> >
> >
> > With "keepalive 32;" you keep busy all of your 32 php processes
> > even if there are no active requests, and there are no processes
> > left to process listen queue.
> >
> > On the other hand, nginx will still try to establish new
> > connection if there are no idle one sitting in connections cache
> > during request processing.  Therefore some requests will enter
> > php's listen queue and have no chance to leave it.  Eventually
> > listen queue will overflow.
> >
> > Please also note that "keepalive 10;" means each nginx worker will
> > keep up to 10 connections.  If you are running multiple workers
> > you may need to use lower number.
> >
> >
> Thanks for this. It's been running fine with keepalive 10 on four workers --
> is that because there is connection overlap? Am I risking a possibility of
> exhausting the 32 processes eventually?
With each worker keeping 10 connections 4 workers will be able to 
keep 40, which is more than you have processes.  I suggest it 
works fine just because nginx is underloaded and most requests are 
processed by one or two workers.
I would recommend setting something like "keepalive 5;" in your case.
Maxim Dounin
    
    
More information about the nginx-devel
mailing list