Re: tcp bw in 2.6

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Pekka Pietikainen
Date: Wednesday, October 3, 2007 - 2:13 pm

On Tue, Oct 02, 2007 at 02:21:32PM -0700, Larry McVoy wrote:
A few notes to the discussion. I've seen one e1000 "bug" that ended up being
a crappy AMD pre-opteron SMP chipset with a totally useless PCI bus
implementation, which limited performance quite a bit-totally depending on
what you plugged in and in which slot. 10e milk-and-bread-store 
32/33 gige nics actually were better than server-class e1000's 
in those, but weren't that great either.

A few things worth trying out is using recv(.., MSG_TRUNC ) on the receiver,
that tests the theoretical sender maximum performance much better (but memory
bandwidth vs. GigE is much higher these days than it was in 2001 so maybe
not that useful anymore).

Check your interrupt rates for the interface. You shouldn't be getting
anywhere near 1 interrupt/packet. If you are, something is badly wrong :).

Running getsockopt(...TCP_INFO) every few secs on the socket and printing
that out can be useful too. That gives you both sides' idea on what the
tcp windows etc. are.

My favourite tool is a home-made thing called yantt btw. 
( http://www.ee.oulu.fi/~pp/yantt.tgz . Needs lots of cleanup love, 
it mucks with the window sizes by default, since in the 2.4 days you really
had to do that to get any kind of performance and the help text is wrong.
But it's pretty easy to hack to try out new ideas, use 
sendfile/MSG_TRUNC/TCP_INFO etc.

Netperf is the kitchen sink of network benchmark tools. But trying out a few
tiny things with it is not fun at all, I tried and quickly decided to 
write my own tool for my master's thesis work ;-)

Oh. Don't measure CPU usage with top. Use a cyclesoaker (google for
cyclesoak, I included akpm's with yantt) :-)

And yes. TCP stacks do have bugs, especially when things get outside the
equipment most people have. Having a dedicated transatlantic 2.5Gbps
connection found a really fun one a long time ago ;)

-- 
Pekka Pietikainen
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: tcp bw in 2.6, Larry McVoy, (Mon Oct 1, 5:59 pm)
Re: tcp bw in 2.6, Linus Torvalds, (Mon Oct 1, 7:14 pm)
Re: tcp bw in 2.6, Larry McVoy, (Mon Oct 1, 7:20 pm)
Re: tcp bw in 2.6, David Miller, (Mon Oct 1, 8:50 pm)
Re: tcp bw in 2.6, Larry McVoy, (Mon Oct 1, 9:23 pm)
Re: tcp bw in 2.6, Herbert Xu, (Tue Oct 2, 3:52 am)
Re: tcp bw in 2.6, John Heffner, (Tue Oct 2, 8:06 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 8:09 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 8:41 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 9:25 am)
Re: tcp bw in 2.6, Linus Torvalds, (Tue Oct 2, 9:34 am)
Re: tcp bw in 2.6, Stephen Hemminger, (Tue Oct 2, 9:47 am)
Re: tcp bw in 2.6, Ben Greear, (Tue Oct 2, 9:48 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 9:48 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 9:49 am)
Re: tcp bw in 2.6, Stephen Hemminger, (Tue Oct 2, 10:10 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 10:11 am)
Re: tcp bw in 2.6, Rick Jones, (Tue Oct 2, 10:14 am)
Re: tcp bw in 2.6, Ben Greear, (Tue Oct 2, 10:18 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 10:20 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 10:21 am)
Re: tcp bw in 2.6, Stephen Hemminger, (Tue Oct 2, 10:54 am)
Re: tcp bw in 2.6, Rick Jones, (Tue Oct 2, 11:01 am)
Re: tcp bw in 2.6, John Heffner, (Tue Oct 2, 11:29 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 11:35 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 11:40 am)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 12:07 pm)
Re: tcp bw in 2.6, Linus Torvalds, (Tue Oct 2, 12:27 pm)
Re: tcp bw in 2.6, Linus Torvalds, (Tue Oct 2, 12:29 pm)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 12:33 pm)
Re: tcp bw in 2.6, Rick Jones, (Tue Oct 2, 12:47 pm)
Re: tcp bw in 2.6, Rick Jones, (Tue Oct 2, 12:53 pm)
Re: tcp bw in 2.6, John Heffner, (Tue Oct 2, 12:53 pm)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 1:14 pm)
Re: tcp bw in 2.6, David Miller, (Tue Oct 2, 1:31 pm)
Re: tcp bw in 2.6, David Miller, (Tue Oct 2, 1:33 pm)
Re: tcp bw in 2.6, Rick Jones, (Tue Oct 2, 1:40 pm)
Re: tcp bw in 2.6, Wayne Scott, (Tue Oct 2, 1:42 pm)
Re: tcp bw in 2.6, Roland Dreier, (Tue Oct 2, 1:44 pm)
Re: tcp bw in 2.6, David Miller, (Tue Oct 2, 2:16 pm)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 2:21 pm)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 2:26 pm)
Re: tcp bw in 2.6, David Miller, (Tue Oct 2, 2:32 pm)
Re: tcp bw in 2.6, David Miller, (Tue Oct 2, 2:47 pm)
Re: tcp bw in 2.6, Linus Torvalds, (Tue Oct 2, 2:56 pm)
Re: tcp bw in 2.6, Rick Jones, (Tue Oct 2, 3:17 pm)
Re: tcp bw in 2.6, David Miller, (Tue Oct 2, 3:32 pm)
Re: tcp bw in 2.6, Larry McVoy, (Tue Oct 2, 3:36 pm)
Re: tcp bw in 2.6, Rick Jones, (Tue Oct 2, 3:59 pm)
Re: tcp bw in 2.6, Bill Fink, (Wed Oct 3, 12:19 am)
Re: tcp bw in 2.6, David Miller, (Wed Oct 3, 1:02 am)
Re: tcp bw in 2.6, Pekka Pietikainen, (Wed Oct 3, 2:13 pm)
Re: tcp bw in 2.6, Larry McVoy, (Wed Oct 3, 2:23 pm)
Re: tcp bw in 2.6, Pekka Pietikainen, (Wed Oct 3, 2:50 pm)
Re: tcp bw in 2.6, Daniel Schaffrath, (Mon Oct 15, 5:40 am)
Re: tcp bw in 2.6, Stephen Hemminger, (Mon Oct 15, 8:49 am)