[netperf-talk] Netperf & iPerf

Rick Jones rick.jones2 at hp.com
Mon Jan 22 10:56:06 PST 2007


> 
> We ran 2 tests, TCP and UDP stream tests.  The commands used were:
> netperf -H <hostip> -t UDP_STREAM -- -m 1024
> netperf -H <hostip> -t TCP_STREAM -- -m 1024
> 
> 802.11b does not do any sort of compression to the best of my knowledge.

If you want, you can create a compressed file of reasonable size and 
specify its name ina global -F option:

netperf -F <compressed file> ...

and netperf will fill its send buffers with data from that file.  It 
will still send the same set of buffers over and over again, but it will 
be something other than all zeros :)

> iPerf seems to only factor in data received at the application layer.
> Does Netperf throughput calculations include all data sent (network
> headers), or just what is received at the application layer?

Netperf is like iperf in that regard.  It measures only what goes 
into/comes out of the socket.  That is all something operating at the 
application-layer can do reliably.  (Otherwise, it starts mucking about 
with platform-specific stuff like statistics and it all goes downhill 
from there...)

> What other information could you use?

While it wouldn't matter for  UDP, does iperf set TCP_NODELAY by 
default?  Netperf does not, which means that TCP will be aggregating 
those 1024 byte sends of yours into larger (1460 byte?) segments.  One 
cannot really reliably force a given segment size with TCP, but 
generally, if you send < 1460 (or 1448) at a time and set TCP_NODELAY 
(test-specific -D option), that will cause the segments to carry just 
that quantity of data.  Generally.  You need to verify it with stats 
gathered outside of netperf (eg netstat or ethtool/lanadmin etc).

UDP doesn't have that - it just slaps a UDP header on whatever you give 
it, and hands the whole thing to IP.  UDP won't try to combine stuff, 
nor to split it up.

rick


More information about the netperf-talk mailing list