Hi, In the environment we are running/testing, I am trying to determine the best option to test LAN speeds from one Host to Another.
For instance..
I have a TestCluster with 2 Hosts. In each host I have 2 VM's. Currently in each host I also have 2 NIC's (1GB speed each).
I want to test the Network speed in two areas.
1. From VM to VM in the same HOST.
2. From HOST to HOST with 1 VM from 1 HOST sending data to the other VM inside the other HOST.
I have researched software such as Iperf and Jperf, in which this is exactly what I need... but these seem to only send data up too 500mb or so.. this is not good enough to saturate a 1GB, 2GB, 10GB network for testing.
So my question is.. What type of Network Testing Software do you VM Guru's use to test your network traffic?
Any help is truly appreciated.
-Erich
Iperf is just fine. Make sure you don't just run it with the default parameters, because this will establish only one TCP-connection, not really representative to test the total throughput of your link.
Use the -P switch to establish multiple concurrent connections and/or increase the TCP window size with -w. This should boost your results significantly, unless you really have a network-related issue.
I personally have tested iperf on Linux VMs with vmxnet3 and got results of over 25Gbit/s (yes, really) within a host, and 3-4Gbit/s on Windows VMs within the same host.
Between physical hosts, I get some good 900+Mbit/s on our 1Gbit network.
Iperf is just fine. Make sure you don't just run it with the default parameters, because this will establish only one TCP-connection, not really representative to test the total throughput of your link.
Use the -P switch to establish multiple concurrent connections and/or increase the TCP window size with -w. This should boost your results significantly, unless you really have a network-related issue.
I personally have tested iperf on Linux VMs with vmxnet3 and got results of over 25Gbit/s (yes, really) within a host, and 3-4Gbit/s on Windows VMs within the same host.
Between physical hosts, I get some good 900+Mbit/s on our 1Gbit network.
Try iPerf.
R
Thanks MKguy,
I will try Iperf with those settings and see if that will work.
So I take it Iperf is still the recommended network testing tool?
-Erich
iperf is certainly one of the better network test tools, and if you're simply trying to find maximum TCP or UDP based throughput, it's a very good choice.
As far as command options, MKguy makes a good point about increasing the TCP window size etc., although on a GE LAN with a modern OS I’d expect you'd be able to fully utilise the link with the default options. If you're testing across wide area networks, where the round trip time is relatively high, then you'd certainly need to change the options. There's a good discussion of the tool and how to use it over at the eduPERT Knowledge Base on their Iperf page. The other page to check out if you're seeing problems with TCP performance on Windows machines is their page on Windows-Specific Host Tuning.
Though I use iperf regularly, it doesn't give me everything I need for every occasion and so I also turn to the following tools for the following reasons:
nuttcp: allows setting of a specific TCP stream rate. Iperf allows this for UDP tests, but not TCP.
[sfuller@rhel6-eth0 ~]$ nuttcp -t -i1 -R100m rhel5
11.8750 MB / 1.00 sec = 99.4502 Mbps 0 retrans
11.9375 MB / 1.00 sec = 100.1720 Mbps 0 retrans
11.9375 MB / 1.00 sec = 100.1705 Mbps 0 retrans
11.8750 MB / 1.00 sec = 99.6459 Mbps 0 retrans
11.9375 MB / 1.00 sec = 99.9705 Mbps 0 retrans
11.9375 MB / 1.00 sec = 100.1704 Mbps 0 retrans
thrulay: provides details of min/avg/max round trip time in addition to throughput
[sfuller@rhel6-eth0 ~]$ thrulay rhel5
# local window = 219136B; remote window = 8388608B
# block size = 8192B
# Path MTU = 1500B, MSS = 1448B
# test duration = 60s; reporting interval = 1s
SID begin,s end,s Mb/s RTT,ms: min avg max
(0) 0.000 1.000 937.343 0.418 1.552 2.070
(0) 1.000 2.000 931.577 0.645 1.568 9.534
(0) 2.000 3.000 938.915 1.079 1.552 2.077
(0) 3.000 4.000 938.857 1.066 1.557 2.588
(0) 4.000 5.000 938.117 1.095 1.553 1.983
netperf: has the option for request/response type tests whereas iperf is stream based only
[sfuller@rhel6-eth0 ~]$ netperf -H rhel6 -tTCP_RR -- -r512,512
TCP REQUEST/RESPONSE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to rhel6-eth0.ntilab.net (172.17.2.100) port 0 AF_INET : interval : demo
Local /Remote
Socket Size Request Resp. Elapsed Trans.
Send Recv Size Size Time Rate
bytes Bytes bytes bytes secs. per sec
16384 87380 512 512 10.00 112460.64
16384 87380
Hope that helps.
Thanks! Excellent info!
Jperf/Iperf seemed to help a lot. I needed to know what my choices were for network monitoring tools and I was curious to see if Iperf was still useful with the size of networks these days.
Thanks for all the help!