Re: Weird tcp performance differences with 2.0 and 2.2 kernels

Kris Karas (ktk@ktk.bidmc.harvard.edu)
Fri, 12 Feb 1999 16:36:21 -0500


David C Niemi wrote:

> Users are reporting odd and unpleasant FTP hangs on ftp.tux.org as well,
> The hangs do not ALWAYS happen, they are more likely on more remote
> connections and on connections via firewalls
> Anyone else running a large FTP server on 2.2.x yet?

I've been tracking this down for quite some time now. What I have observed
thus far leads me to believe the following:

When Linux 2.2 sends to some host X, and X is a fast receiver (so the perceived
receive window remains large in Linux's eyes), then the TCP/IP transfer (as
observed with tcpdump) is nearly textbook.

But! When host X is slower than the sending Linux 2.2, or the medium between
them is slow (e.g. a ppp link), such that data buffers on the sending side,
then Linux will sometimes forget to send a packet. For example, the sequence
numbers coming from Linux for a fictitious mtu-500 connection look like 1-500,
501-1000, 1501-2000, 2001-2500, and so on; whoops, where did 1001-1500 go? I
have tcpdump output from *both* ends of such a connection showing this
happening; it is very repeatable. Making matters worse, a slow medium (e.g.
ppp) makes it take quite awhile before the ACK stream from X back to Linux gets
linux's TCP stream back to the missed sequence. This explains why, when
running a ppp dialup server with linux 2.0, I get >33Kbps transfer rates;
booting Linux 2.2, the transfer rates drop to 15Kbps or thereabouts (with no
lost bytes or other serial misshaps).

--
Kristofer Karas                           *      kXtXk@bigfoot.com (delete X's)
AMA/CCS DoD RF900RR HawkGT !car           *    Senior systems engineer/SysAdmin
"Build a system that even a fool can use, * BI Deaconess Medical Center, Boston
 and only a fool will want to use it."    *  Will design LISP machines for food

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/