Messages in this thread | | | From | Aaron Wrasman <> | Date | Tue, 7 Oct 2003 21:10:18 -0500 | Subject | Slow network and initial TCP connection |
| |
I'm working with a 2.4 kernel and we have linux servers (over 3000) that have to talk over a slow satellite connection. We noticed that it was timing out on the initial TCP connection and had to retry. Between the first time out and the second try with a longer timeout it was actually taking longer than it use to with a different OS and we had more traffic on our network because of the retry.
We changed one thing in include/linux/tcp.h
Change:
#define TCP_TIMEOUT_INIT ((unsigned)(3*HZ))
to be
#define TCP_TIMEOUT_INIT ((unsigned)(5*HZ))
We did this and connections work the first time and we cut our traffic in half.
Is there a better way than having to hardcode this in a header file and having to recompile the kernel? I would have thought someone would have run into this on a high latency network before now and this would be tuneable from /proc
I know that there are some socket options that an application can set to override this in some places but I need to do this for all TCP traffic.
All suggestions? [unhandled content-type:application/pgp-signature] | |