Slow network and initial TCP connection
From: Aaron Wrasman
Date: Tue Oct 07 2003 - 21:15:37 EST
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?
Attachment:
pgp00001.pgp
Description: PGP signature