Eu fiz um teste UDP iperf 2.0.5-Ubuntu entre duas VMs no mesmo hipervisor. Como pode ser visto na saída iperf abaixo, iniciei meu primeiro teste com o sinalizador "-b 686M". No entanto, iperf relatou que foi capaz de enviar tráfego apenas a 633Mbps (92% da largura de banda alvo). Então, reduzi a largura de banda alvo para 633Mbps. No entanto, novamente o iperf conseguiu enviar tráfego apenas a 604Mbps (95% da largura de banda alvo). Então continuei fazendo isso até que chegou a algum tipo de equilíbrio a 561Mbps, onde finalmente a largura de banda alvo correspondia à largura de banda real de forma consistente.
O que está acontecendo aqui? Por que o iperf envia tráfego a uma taxa menor que a largura de banda de destino especificada? Obviamente, a partir do primeiro teste, o iperf tem recursos de CPU suficientes para gerar tráfego a 686Mbps, se ele realmente quisesse.
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 686M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.71.136 port 37449 connected with 192.168.71.135 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 754 MBytes 633 Mbits/sec
[ 3] Sent 538085 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 754 MBytes 633 Mbits/sec 0.012 ms 40/538084 (0.0074%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 633M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.71.136 port 58953 connected with 192.168.71.135 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 720 MBytes 604 Mbits/sec
[ 3] Sent 513420 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 720 MBytes 604 Mbits/sec 0.016 ms 49/513419 (0.0095%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 604M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.71.136 port 45411 connected with 192.168.71.135 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 695 MBytes 583 Mbits/sec
[ 3] Sent 495600 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 695 MBytes 583 Mbits/sec 0.015 ms 199/495599 (0.04%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 583M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.71.136 port 56228 connected with 192.168.71.135 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 669 MBytes 561 Mbits/sec
[ 3] Sent 477143 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 669 MBytes 561 Mbits/sec 0.013 ms 4/477142 (0.00084%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 561M -t 10
------------------------------------------------------------
Client connecting to 192.168.71.135, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.71.136 port 41766 connected with 192.168.71.135 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 669 MBytes 561 Mbits/sec
[ 3] Sent 477264 datagrams
[ 3] Server Report:
[ 3] 0.0-10.0 sec 669 MBytes 561 Mbits/sec 0.013 ms 405/477263 (0.085%)
[ 3] 0.0-10.0 sec 1 datagrams received out-of-order
root@ubuntu:/# iperf -u -c 192.168.71.135 -b 561M -t 10