Maybe a bug in Nginx 0.6.30 x86_64

François Battail fb at francois.battail.name
Sun May 11 20:23:16 MSD 2008


Igor Sysoev <is at ...> writes:

> It seems that you are able to run ab/nginx in resonance:
> 
> 1) ab issues request, nginx gets epoll notification and sends response,
> 2) kernel schedules ab, it gets response, sends a new request,
> 3) kernel schedules nginx, it reads the request, sends a response,
> 4) goto #2.

Yes, running AB and Nginx on the same computer is insane since AB is more CPU
hungry than Nginx ;-)

> So nginx processes all requests after single epoll notification without
> any blocking. This may happen only on greedy event notification methods:
> epoll and rtsig. Also I'm not sure that it can be reproduced from remote 
> host. I see two ways to fix it: the simplest is to limit number of 
> keepalive requests.

Well, I used to test a custom version of Nginx with keepalive enabled without
any problem and with a lot of concurrent connections (content is generated
dynamically without blocking calls for the moment, but it's completely specific
to my case). I understand your point when you write resonance but I have still
an issue on understanding why keepalive could be an issue triggering recursive
calls since without keepalive it works fine.

> BTW, please note, that running nginx without master process is not good
> for production: it has problems with reconfiguration, etc.

Thank you, but it was just for debugging purpose, I will *never* run Nginx
without a master process in production; just want to provide you a limited
subset to help for investigation.

Best regards. 







More information about the nginx mailing list