Por que a largura de banda não é ~ 10G?

1

Originalmente postei em "Network Engineering", mas me pediram para perguntar aqui.

Eu tenho 2 servidores conectados com cabo 10G entre eles diretamente. Eu preciso saber que a conexão é boa e tem realmente 10G throughput. Se não como eu posso verificar qual é o problema? Eu usei o IPERF para verificar a largura de banda.

UPDATE Eu configurei pacotes jumbo, taxa de interrupção extrema, valores máximos para buffers de recepção / transmissão. Para o IPERF, usei apenas "iperf3.exe -s" para o servidor e "iperf3.exe -c IP" para o cliente.

De acordo com o teste, a largura de banda é de 1,5-1,7 Gbits / seg. Isso significa que a conexão é 10G? Qual poderia ser o problema?

O servidor A é o Windows 8.1 Pro de 64 bits

O servidor B é o Windows 7 Enterprise 64bit

Esta é a saída quando ServerA (192.168.10.100) é servidor e ServerB (192.168.10.200) é cliente:

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.10.200, port 63772
[  5] local 192.168.10.100 port 5201 connected to 192.168.10.200 port 63773
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   170 MBytes  1.42 Gbits/sec
[  5]   1.00-2.00   sec   217 MBytes  1.82 Gbits/sec
[  5]   2.00-3.00   sec   217 MBytes  1.82 Gbits/sec
[  5]   3.00-4.00   sec   214 MBytes  1.80 Gbits/sec
[  5]   4.00-5.00   sec   217 MBytes  1.82 Gbits/sec
[  5]   5.00-6.00   sec   207 MBytes  1.74 Gbits/sec
[  5]   6.00-7.00   sec   199 MBytes  1.67 Gbits/sec
[  5]   7.00-8.00   sec   206 MBytes  1.73 Gbits/sec
[  5]   8.00-9.00   sec   192 MBytes  1.61 Gbits/sec
[  5]   9.00-10.00  sec   209 MBytes  1.75 Gbits/sec
[  5]  10.00-10.16  sec  30.3 MBytes  1.63 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.16  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.16  sec  2.03 GBytes  1.72 Gbits/sec                  receiver

Esta é a saída quando B (192.168.10.200) é servidor e A (192.168.10.100) é cliente:

-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.10.100, port 55565
[  5] local 192.168.10.200 port 5201 connected to 192.168.10.100 port 55566
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec   170 MBytes  1.43 Gbits/sec
[  5]   1.00-2.00   sec   175 MBytes  1.47 Gbits/sec
[  5]   2.00-3.00   sec   175 MBytes  1.47 Gbits/sec
[  5]   3.00-4.00   sec   179 MBytes  1.50 Gbits/sec
[  5]   4.00-5.00   sec   181 MBytes  1.52 Gbits/sec
[  5]   5.00-6.00   sec   200 MBytes  1.68 Gbits/sec
[  5]   6.00-7.00   sec   176 MBytes  1.47 Gbits/sec
[  5]   7.00-8.00   sec   177 MBytes  1.48 Gbits/sec
[  5]   8.00-9.00   sec   186 MBytes  1.56 Gbits/sec
[  5]   9.00-10.00  sec   179 MBytes  1.50 Gbits/sec
[  5]  10.00-10.04  sec  6.42 MBytes  1.46 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-10.04  sec  0.00 Bytes  0.00 bits/sec                  sender
[  5]   0.00-10.04  sec  1.76 GBytes  1.51 Gbits/sec                  receiver

UPDATE2 - UDP

Quando 192.168.10.100 é servidor

iperf3.exe -c 192.168.10.100 -u -V
iperf 3.1.3
CYGWIN_NT-6.1 ServerB 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Time: Tue, 09 Aug 2016 19:58:03 GMT
Connecting to host 192.168.10.100, port 5201
      Cookie: ServerB.1470772683.561800.7c902a3e559
[  4] local 192.168.10.200 port 63675 connected to 192.168.10.100 port 5201
Starting Test: protocol: UDP, 1 streams, 8192 byte blocks, omitting 0 seconds, 1
0 second test
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   1.00-2.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   2.00-3.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   3.00-4.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   4.00-5.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   5.00-6.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   6.00-7.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   7.00-8.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   8.00-9.00   sec   128 KBytes  1.05 Mbits/sec  16
[  4]   9.00-10.00  sec   128 KBytes  1.05 Mbits/sec  16
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datag
rams
[  4]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec  0.437 ms  0/160 (0%)
[  4] Sent 160 datagrams
CPU Utilization: local/sender 1.7% (0.9%u/0.8%s), remote/receiver 0.1% (0.0%u/0.
1%s)

Quando 192.168.10.200 é servidor

iperf3.exe -c 192.168.10.200 -u -V
iperf 3.1.3
CYGWIN_NT-6.3 ServerA 2.5.1(0.297/5/3) 2016-04-21 22:14 x86_64
Time: Tue, 09 Aug 2016 20:37:11 GMT
Connecting to host 192.168.10.200, port 5201
      Cookie: ServerA.1470775031.986727.6f8e913650af9b
[  4] local 192.168.10.100 port 51834 connected to 192.168.10.200 port 5201
Starting Test: protocol: UDP, 1 streams, 8192 byte blocks, omitting 0 seconds, 1
0 second test
[ ID] Interval           Transfer     Bandwidth       Total Datagrams
[  4]   0.00-1.00   sec   152 KBytes  1.24 Mbits/sec  19
[  4]   1.00-2.00   sec   144 KBytes  1.18 Mbits/sec  18
[  4]   2.00-3.00   sec   160 KBytes  1.31 Mbits/sec  20
[  4]   3.00-4.00   sec   160 KBytes  1.31 Mbits/sec  20
[  4]   4.00-5.00   sec   152 KBytes  1.25 Mbits/sec  19
[  4]   5.00-6.00   sec   152 KBytes  1.24 Mbits/sec  19
[  4]   6.00-7.00   sec   152 KBytes  1.25 Mbits/sec  19
[  4]   7.00-8.00   sec   152 KBytes  1.25 Mbits/sec  19
[  4]   8.00-9.00   sec   152 KBytes  1.24 Mbits/sec  19
[  4]   9.00-10.00  sec   144 KBytes  1.18 Mbits/sec  18
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datag
rams
[  4]   0.00-10.00  sec  1.48 MBytes  1.25 Mbits/sec  0.202 ms  0/189 (0%)
[  4] Sent 189 datagrams
CPU Utilization: local/sender 0.1% (0.1%u/0.0%s), remote/receiver 0.0% (0.0%u/0.
0%s)

UPDATE3 - NTTTCP W / O-NDL

ServerA

ntttcp.exe -s -m 8,*,192.168.10.200 -l 128k -a 2 -t 15
Copyright Version 5.31
Network activity progressing...


Thread  Time(s) Throughput(KB/s) Avg B / Compl
======  ======= ================ =============
     0   15.000        65544.533    131072.000
     1   15.000        65518.933    131072.000
     2   15.000        93585.067    131072.000
     3   15.002        63906.146    131072.000
     4   15.000        65536.000    131072.000
     5   15.000        62310.400    131072.000
     6   15.001        81837.744    131072.000
     7   15.001        73262.316    131072.000


#####  Totals:  #####


   Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
     8371.875000      15.001       8854.867          558.088


Throughput(Buffers/s) Cycles/Byte       Buffers
===================== =========== =============
             4464.702      17.198     66975.000


DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
    12120.992         0.823       30450.170          0.328


Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
      991381           149616           9      0     36.026

ServerB

ntttcp.exe -r -m 8,*,192.168.10.200 -rb 2M -a 16 -t 15
Copyright Version 5.31
Network activity progressing...


Thread  Time(s) Throughput(KB/s) Avg B / Compl
======  ======= ================ =============
     0   15.000        65546.450     60268.990
     1   14.999        65523.318     60229.282
     2   14.999        93582.889     60659.943
     3   14.999        63900.843     61621.870
     4   15.000        65536.817     60278.174
     5   14.999        62316.071     61141.628
     6   14.999        81840.156     60394.032
     7   14.999        73264.934     60858.538


#####  Totals:  #####


   Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
     8371.320061      14.999       8942.835          558.125


Throughput(Buffers/s) Cycles/Byte       Buffers
===================== =========== =============
             8930.003       5.314    133941.121


DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
     7965.264         8.216       14260.151          4.589


Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
      146841           981564           1      0      9.699

UPDATE4 - NTTTCP COM -NDL

ServerA

ntttcp.exe -s -m 8,*,192.168.10.200 -l 128k -a 2 -t 15 -ndl
Copyright Version 5.31
Network activity progressing...


Thread  Time(s) Throughput(KB/s) Avg B / Compl
======  ======= ================ =============
     0   14.999        78059.604    131072.000
     1   15.000        76902.400    131072.000
     2   14.999        59882.392    131072.000
     3   14.999        62485.232    131072.000
     4   14.999        72734.449    131072.000
     5   15.001        77520.165    131072.000
     6   15.000        62702.933    131072.000
     7   15.000        62771.200    131072.000


#####  Totals:  #####


   Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
     8101.250000      15.000       8912.094          540.083


Throughput(Buffers/s) Cycles/Byte       Buffers
===================== =========== =============
             4320.667      17.355     64810.000


DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
     9966.333         0.974       29515.333          0.329


Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
      953174           145579           1      0     35.182

ServerB

ntttcp.exe -r -m 8,*,192.168.10.200 -rb 2M -a 16 -t 15 -ndl
Copyright Version 5.31
Network activity progressing...


Thread  Time(s) Throughput(KB/s) Avg B / Compl
======  ======= ================ =============
     0   15.000        78054.000     60255.789
     1   15.001        76903.606     60839.375
     2   15.000        59880.183     61786.888
     3   14.999        62483.832     60812.856
     4   15.000        72730.333     61516.405
     5   14.999        77520.335     60398.365
     6   14.998        62701.660     60628.917
     7   14.998        62771.436     60585.766


#####  Totals:  #####


   Bytes(MEG)    realtime(s) Avg Frame Size Throughput(MB/s)
================ =========== ============== ================
     8100.944093      14.999       8943.556          540.099


Throughput(Buffers/s) Cycles/Byte       Buffers
===================== =========== =============
             8641.583       4.888    129615.105


DPCs(count/s) Pkts(num/DPC)   Intr(count/s) Pkts(num/intr)
============= ============= =============== ==============
     7912.594         8.003       14043.670          4.509


Packets Sent Packets Received Retransmits Errors Avg. CPU %
============ ================ =========== ====== ==========
      143914           949785           0      0      8.633
    
por theateist 09.08.2016 / 21:35

1 resposta

2

Acontece que o problema estava relacionado a como os clientes do Windows 7/8 gerenciam o dimensionamento da janela TCP.

Por padrão, as edições de clientes do Windows preferem janelas TCP relativamente pequenas, priorizando latência versus taxa de transferência. Ao usar um link muito rápido, como neste caso, configurar o autoajuste para o normal pode trazer ganhos significativos de largura de banda.

Para definir o autoajuste para um valor melhor, você pode usar o comando netsh interface tcp set heuristics disabled . De qualquer forma, dê uma olhada aqui para mais informações.

    
por 12.08.2016 / 10:36