Estranho comportamento do iperf3 com fluxos UDP

1

Estou usando o iperf3 verson 3.0.11 para medir a taxa de transferência de um fluxo UDP entre duas máquinas virtuais. As máquinas virtuais são implantadas via OpenStack. Dos hospedeiros físicos, um está localizado em Bratislava, o outro em Liubliana.

Em termos de rede, os hosts físicos têm uma NIC de 1 Gbit e as VMs são conectadas via pci_passthrough, oferecendo acesso total à NIC.

O servidor iperf exibe a seguinte saída:

    root@lju:/home/gts# iperf3 -s -V
iperf 3.0.11
Linux lju 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Time: Fri, 15 Jan 2016 12:16:20 GMT
Accepted connection from 172.16.0.78, port 40774
      Cookie: bra.1452860180.557437.6c142f196ae2a4
[  5] local 172.16.0.80 port 5201 connected to 172.16.0.78 port 57847
Starting Test: protocol: UDP, 1 streams, 8192 byte blocks, omitting 0 seconds, 10 second test
iperf3: OUT OF ORDER - incoming packet = 70 and received packet = 97 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 71 and received packet = 97 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 72 and received packet = 99 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 14 and received packet = 123 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 15 and received packet = 125 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 78 and received packet = 137 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 79 and received packet = 137 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 80 and received packet = 139 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 82 and received packet = 172 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 83 and received packet = 173 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 65 and received packet = 175 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 66 and received packet = 176 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 67 and received packet = 177 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 84 and received packet = 177 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 86 and received packet = 198 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 18 and received packet = 203 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 19 and received packet = 205 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 22 and received packet = 270 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 23 and received packet = 273 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 38 and received packet = 349 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 39 and received packet = 350 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 40 and received packet = 350 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 41 and received packet = 350 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 47 and received packet = 412 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 48 and received packet = 412 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 49 and received packet = 412 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 50 and received packet = 414 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 55 and received packet = 490 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 56 and received packet = 490 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 57 and received packet = 490 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 60 and received packet = 541 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 61 and received packet = 541 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 62 and received packet = 541 AND SP = 5
iperf3: OUT OF ORDER - incoming packet = 63 and received packet = 541 AND SP = 5
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec   105 MBytes   880 Mbits/sec  0.086 ms  141304/154697 (91%)  
[  5]   1.00-2.00   sec   114 MBytes   956 Mbits/sec  0.142 ms  164060/178642 (92%)  
[  5]   2.00-3.00   sec   114 MBytes   956 Mbits/sec  0.083 ms  165925/180507 (92%)  
[  5]   3.00-4.00   sec   114 MBytes   956 Mbits/sec  0.090 ms  164512/179094 (92%)  
[  5]   4.00-5.00   sec   114 MBytes   956 Mbits/sec  0.107 ms  166389/180972 (92%)  
[  5]   5.00-6.00   sec   114 MBytes   956 Mbits/sec  0.079 ms  159459/174041 (92%)  
[  5]   6.00-7.00   sec   114 MBytes   956 Mbits/sec  0.084 ms  168138/182720 (92%)  
[  5]   7.00-8.00   sec   114 MBytes   956 Mbits/sec  0.098 ms  169098/183680 (92%)  
[  5]   8.00-9.00   sec   114 MBytes   956 Mbits/sec  0.101 ms  166463/181046 (92%)  
[  5]   9.00-10.00  sec   114 MBytes   956 Mbits/sec  0.097 ms  168547/183128 (92%)  
[  5]  10.00-10.15  sec  16.6 MBytes   952 Mbits/sec  0.076 ms  23353/25473 (92%)  
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  5]   0.00-10.15  sec  13.8 GBytes  11.7 Gbits/sec  0.076 ms  1657248/1804000 (92%)  
[SUM]  0.0-10.1 sec  1657248 datagrams received out-of-order
CPU Utilization: local/receiver 11.9% (1.3%u/10.6%s), remote/sender 44.5% (4.0%u/40.5%s)
iperf 3.0.11
Linux lju 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

O cliente exibe esta saída:

root@bra:/home/gts# iperf3 -u -c 172.16.0.80 -b 0 -V
iperf 3.0.11
Linux bra 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Time: Fri, 15 Jan 2016 12:16:20 GMT
Connecting to host 172.16.0.80, port 5201
      Cookie: bra.1452860180.557437.6c142f196ae2a4
[  4] local 172.16.0.78 port 57847 connected to 172.16.0.80 port 5201
Starting Test: protocol: UDP, 1 streams, 8192 byte blocks, omitting 0 seconds, 10 second test
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec  1.38 GBytes  11.8 Gbits/sec  180260  
[  4]   1.00-2.00   sec  1.37 GBytes  11.7 Gbits/sec  179180  
[  4]   2.00-3.00   sec  1.37 GBytes  11.8 Gbits/sec  179950  
[  4]   3.00-4.00   sec  1.37 GBytes  11.8 Gbits/sec  180030  
[  4]   4.00-5.00   sec  1.37 GBytes  11.7 Gbits/sec  179240  
[  4]   5.00-6.00   sec  1.33 GBytes  11.5 Gbits/sec  174840  
[  4]   6.00-7.00   sec  1.40 GBytes  12.0 Gbits/sec  183040  
[  4]   7.00-8.00   sec  1.40 GBytes  12.1 Gbits/sec  183970  
[  4]   8.00-9.00   sec  1.38 GBytes  11.9 Gbits/sec  180830  
[  4]   9.00-10.00  sec  1.39 GBytes  12.0 Gbits/sec  182660  
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-10.00  sec  13.8 GBytes  11.8 Gbits/sec  0.076 ms  1657248/1804000 (92%)  
[  4] Sent 1804000 datagrams
CPU Utilization: local/sender 44.5% (4.0%u/40.5%s), remote/receiver 11.9% (1.3%u/10.6%s)

A primeira coisa que está fora do comum é a quantidade de pacotes OUT OF ORDER que chegam ao servidor ao iniciar a medição. Além disso, o resumo exibe uma largura de banda de 11,7 Gbit / s, enquanto a NIC só é capaz de 1 Gbit / s. Os resultados intermediários mostram mais potencial no lado do servidor, no entanto, no lado do cliente, o mesmo número anormal é mostrado. Consententemente também parece haver uma perda de 92% dos datagramas.

Alguém tem indicações de por que o iperf3 está exibindo esse comportamento?

    
por ses 15.01.2016 / 13:32

0 respostas