connection starvation problem

Maxim Dounin mdounin at
Mon May 26 11:44:18 UTC 2014


On Sun, May 25, 2014 at 12:15:51PM -0400, xinghua_hi wrote:

> hi:
>       In man epoll , a section refer to "epoll edge trigger  starvation
> problem", and around to this we need to maintain a ready list instead of
> read socket
> until EAGAIN. but i didn't find any related solution code in nginx. In
> request body read function `ngx_http_do_read_client_request_body`, it seems
> that
> nginx will read socket buffer until EAGAIN or has read Content-length data.
> so if a client is fast enough and post data is large enough, is it possible
> to 
> starve other connections? SO do i miss something important? nginx how to
> deal with this situation in read and write?

This isn't usually a problem unless you are trying to read data 
from fast local clients (and to slow enough disks).  In either 
case, there is a client_max_body_size directive to limit maximum 
possible starvation.

Maxim Dounin

More information about the nginx mailing list