2

I am running a simple bandwidth test between two VMs using iperf. I am getting very different bandwidth reading for TCP and UDP where the UDP bandwidth is terribly lower than TCP.

TCP:

root@i-sahmed-node2: ~ # iperf -c 10.160.24.123
------------------------------------------------------------
Client connecting to 10.160.24.123, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 10.160.24.170 port 48339 connected with 10.160.24.123 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  7.41 GBytes  6.36 Gbits/sec
root@i-sahmed-node2: ~ #

UDP:

root@i-sahmed-node2: ~ # iperf -c 10.160.24.123 -u -b 6g
------------------------------------------------------------
Client connecting to 10.160.24.123, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 10.160.24.170 port 51922 connected with 10.160.24.123 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec   962 MBytes   807 Mbits/sec
[  3] Sent 686548 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   630 MBytes   528 Mbits/sec   0.009 ms 237368/686547 (35%)
[  3]  0.0-10.0 sec  9 datagrams received out-of-order
root@i-sahmed-node2: ~ #

I can reproduce this almost every time. Since I am running on VMs, I don't directly have access to the underlying hardware. Does anyone know why this is happening?

0

1 Answer 1

2

./iPerf in UDP mode has to keep track of the performance of every UDP packet, whereas in TCP mode, the only interaction is the final summary.

800Mb/sec is about the limit for guest VM's that I've seen.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .