[dovecot/core] 2dca65: lib: Created net_set_tcp_nodelay(), which enables ...
GitHub
noreply at github.com
Fri Jun 17 10:00:12 UTC 2016
Branch: refs/heads/master
Home: https://github.com/dovecot/core
Commit: 2dca65ba6192532de99e668cd68ccf6015e77788
https://github.com/dovecot/core/commit/2dca65ba6192532de99e668cd68ccf6015e77788
Author: Stephan Bosch <stephan at dovecot.fi>
Date: 2016-06-16 (Thu, 16 Jun 2016)
Changed paths:
M src/lib/net.c
M src/lib/net.h
Log Message:
-----------
lib: Created net_set_tcp_nodelay(), which enables the TCP_NODELAY socket option.
This disables the TCP Nagle algorithm.
Commit: 44005db1cad775e5edf0ea0e88295fa69b5c400f
https://github.com/dovecot/core/commit/44005db1cad775e5edf0ea0e88295fa69b5c400f
Author: Stephan Bosch <stephan at dovecot.fi>
Date: 2016-06-16 (Thu, 16 Jun 2016)
Changed paths:
M src/lib-http/http-client-connection.c
M src/lib-http/http-server-connection.c
Log Message:
-----------
lib-http: client/server: Enable the TCP_NODELAY option for all connections.
This disables the TCP Nagle algorithm. With the Nagle algorithm enabled, TCP waits a little to accumulate more data in a small segment before it is sent. For transfer of large continuous payloads, this is not useful and even harmful.
If the final remaining bit of the payload is small, the TCP layer will wait for a significant amount of time at the end of the payload. For many sequential transfers, this amounts to much waiting time.
This is particularly evident in the test-http-payload test suite tool. Setting TCP_NODELAY decreases its run time from up to 20 minutes to about half a minute my system.
Compare: https://github.com/dovecot/core/compare/095481fee840...44005db1cad7
More information about the dovecot-cvs
mailing list