[netperf-talk] Why is the send and recv socket size bytes getting doubled by default

Rick Jones rick.jones2 at hp.com
Mon Apr 4 11:14:51 PDT 2011


On Mon, 2011-04-04 at 14:51 +0000, Richard Jose wrote:
> Hello Everyone,
> 
> I am running netperf on a ubuntu-10.10 server and I am using the 
> following command:
> netperf -H mav1-vm2 -l 60 -t TCP_STREAM -- -m 8192 -M 8192 -s 8192 -S 
> 8192
> 
> And this is the result:
> 
> TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to mav1-
> vm2.lab.xyz.com (192.xxx.xx.xxx) port 0 AF_INET
> Recv Send Send
> Socket Socket Message Elapsed
> Size Size Size Time Throughput
> bytes bytes bytes secs. 10^6bits/sec
> 
> 16384 16384 8192 60.00 33.31
> 
> I do not understand why the socket size is getting doubled when the 
> netperf command is run inspite of using the -m and -M options.
> 
> Please help me in understanding what exactly is happening here.

Linux's TCP/IP stack is a little... different.  They count both data and
"overhead" bytes against the socket buffer size, and so up to a limit:

net.core.wmem_max = 131071
net.core.rmem_max = 131071

they double the request made in the setsockopt() call.

happy benchmarking,

rick jones

> 
> Thanks,
> Richard
> 
> _______________________________________________
> netperf-talk mailing list
> netperf-talk at netperf.org
> http://www.netperf.org/cgi-bin/mailman/listinfo/netperf-talk




More information about the netperf-talk mailing list