The initial TCP RTO value of 3s is too long for most LAN-based applications. How can I tune it lower? Is there a sysctl?
migrated from stackoverflow.com Jul 29 '11 at 6:59
This question came from our site for professional and enthusiast programmers.
Nope, you can't; it is hardcoded in the kernel. So change the kernel and recompile.
This is what you should get in your include/net/tcp.h.
But I can see someone provided a patch, even though never tried it myself
The initial setting should not affect your overall performance much, as RTO self-adjusts to network conditions. If you do change RTO, you can set it to 1 sec (but no lower).
There is a discussion of this in RFC 1122:
RFC 6928 is a proposed update (published June 2011) that says that RTO can be initialized to a lower value (but no lower than 1 sec), and contains an Appendix containing data that justifies 1 sec as a reasonable initial value.