very poor TCP performance with 2.2.2

Matt Ranney (mjr@ranney.com)
24 Feb 1999 20:12:06 -0800


I'm testing web server performance with the 2.2 kernels, and I'm
seeing very poor results. All machines I'm testing are RedHat 5.2,
Pentium 2 350's or 400's, eepro100's, plugged into their own port on a
Bay switch, with full duplex forced in the driver. For clients I'm
using either "zeusbench" or a multi-threaded connection-maker that I
wrote. As servers, I'm using either stock Apache from RH 5.2 or
"boa".

Going from 2.0.36 to 2.0.36, I'm getting around 2000 connections per
second on a 2K request. Sometimes more, sometimes less, but
performance seems very good to me. Here's what my program spits out:

In:
Total Bytes:1104500
Average per request: 2209 (including response headers)
Mb/s: 17.7952
Totals:
Threads used: 4
Connections: 500
Seconds: 0.449559
Connection rate: 1112.2 connections/second

Requesting larger files and using more threads has yielded overall
throughputs in excess of 80Mb/s, which is cool.

However, going from the same 2.0.36 machine to a 2.2.2 machine on the
same switch results in this:

In:
Total Bytes:1104500
Average per request: 2209 (including response headers)
Mb/s: 0.183545
Totals:
Threads used: 4
Connections: 500
Seconds: 43.5861
Connection rate: 11.4715 connections/second

Going from a 2.2.2 machine back to a 2.0.36 machine is much better,
but still nowhere near as good as it should be:

In:
Total Bytes:994050
Average per request: 2209 (including response headers)
Mb/s: 2.32451
Totals:
Threads used: 4
Connections: 450
Seconds: 3.01139
Connection rate: 149.433 connections/second

If this isn't a known bug, I'd be happy to get some tcpdumps or
whatever else is required to track it down.

Thanks.

-- 
Matt Ranney - mjr@ranney.com

- 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/