Re: Network performance - iperf

From: Rick Jones
Date: Mon Mar 29 2010 - 12:57:41 EST


Rick Jones wrote:
I don't know how to set fixed socket buffer sizes in iperf, if you were running netperf though I would suggest fixing the socket buffer sizes with the test-specific -s (affects local) and -S (affects remote) options:

netperf -t TCP_STREAM -H <remote> -l 30 -- -s 32K -S 32K -m 32K

to test the hypothesis that the autotuning of the socket buffers/window size is allowing the windows to grow in the larger memory cases beyond what the TLB in your processor is comfortable with.

BTW, by default, netperf will allocate a "ring" of send buffers - the number allocated will be one more than the socket buffer size divided by the send size - so in the example above, there will be two 32KB buffers allocated in netperf's send ring. A similar calculation may happen on the receive side.

That can be controlled via the global (before the "--") -W option.

-W send,recv Set the number of send,recv buffers

So, you might make the netperf command:

netperf -t TCP_STREAM -H <remote> -l 30 -W 1,1 -- -s 32K -S 32K -m 32K

happy benchmarking,

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