Connection starvation problem

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?

thanks!

Posted at Nginx Forum:

Hello!

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

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 D.
http://nginx.org/