Comment 5 for bug 134274

When TCP_DEFER_ACCEPT is enabled on the listening socket:

- HTTP-Keep-Alive requests get a boost;

- non-HTTP-Keep-Alive requests are delayed after a while.

The problem happens with high concurrencies only.

This has been tested with various HTTP servers and is a consistant behavior on Linux Ubuntu 8.1+.

The higher the value for TCP_DEFER_ACCEPT, the faster HTTP servers get into trouble (when they receive ab connections without -k):

ab -t 100 -c900 http://a.b.c.d/100.html (a 100-byte file)

Anyone having a clue why this is happening?

(HTTP Keep-Alives being a persistant TCP connection, it is strange to see TCP_DEFER_ACCEPT giving them a boost)
(inversely, non-HTTP Keep-Alives being new TCP connections, it is strange to see TCP_DEFER_ACCEPT delaying them)

Thanks for any pointer.