Using TCP_QUICKACK with nginx

I was recently linked recently by a combination of server side delayed ACK and client side Nagle algorithm, producing a recognizable 40ms delay, described here: http://www.boundary.com/blog/2012/05/know-a-delay- nagles-algorithm-and-you /

The easiest way to fix this is to use TCP_NODELAY on the client side (or TCP_CORK should work in our case as well). However, I have no direct control over the client and I would like to try to fix the error on the server side. It seems that the TCP_QUICKACK option could do the trick here, since the server would immediately perform an ACK, forcing the client-side Nagle algorithm to send the next packet without delay.

Surprisingly, I couldn't find a link to people who have tried this before. Is this a bad idea (besides the fact that we will be sending more, possibly gratuitous ACKs)? Since it doesn't seem like this option is available through any nginx config, your best bet is to just install nginx directly (maybe http://hg.nginx.org/nginx/file/dcae651b2a0c/src/http/ngx_http_request.c#l3025 )?

Thank!

+3


source to share





All Articles