I'm using Iperf on two VMs and when using TCP I find the performance is as follows:
notroot@ubuntu:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[ 4] local 192.168.1.29 port 5001 connected with 192.168.1.13 port 52478
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 2.22 GBytes 1.90 Gbits/sec
UDP on the other hand is awful:
notroot@ubuntu:~$ iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.1.29 port 5001 connected with 192.168.1.13 port 33775
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.284 ms 0/ 893 (0%)
I was reading this article
Questions:
- What do you think of the results?
- How can I manipulate the datagram size in case it is a fragmentation issue? Though that said I can confirm that the Iperf client is sending 1470 byte datagrams.
Thanks.
Best Answer
In this case, the problem is that iperf's default speed for UDP is very slow (see the other answers). But for less extreme speed differences, check this question on serverfault.com.
Following a quote from pehrs's answer