Os convidados do Hyper-V Windows não podem alcançar mais de 1.5Gbit / s, mas os hóspedes do Linux podem

3

Por favor, informe qual configuração eu tenho que procurar para resolver meus problemas. Eu tenho um problema com o desempenho da rede no Hyper-V (Windows Server 2016).

O servidor possui interface 10Gbits. Estou usando iperf3 para medir a largura de banda teórica. Do host do Hyper-V (Windows Server 2016) para outro servidor de 10 GB / s, ele é mostrado com dois trabalhadores paralelos:

# iperf3 -c target.host -P 2
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  5.48 GBytes  4.70 Gbits/sec                  sender
[  4]   0.00-10.00  sec  5.48 GBytes  4.70 Gbits/sec                  receiver
[  6]   0.00-10.00  sec  5.44 GBytes  4.67 Gbits/sec                  sender
[  6]   0.00-10.00  sec  5.44 GBytes  4.67 Gbits/sec                  receiver
[SUM]   0.00-10.00  sec  10.9 GBytes  9.37 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  10.9 GBytes  9.37 Gbits/sec                  receiver

Parece bom, em torno de 10Gbits / seg

Da VM convidada (CentOS 7.4), posso ver o mesmo desempenho para o mesmo destino:

[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  5.39 GBytes  4.63 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  5.39 GBytes  4.63 Gbits/sec                  receiver
[  6]   0.00-10.00  sec  5.38 GBytes  4.62 Gbits/sec    0             sender
[  6]   0.00-10.00  sec  5.38 GBytes  4.62 Gbits/sec                  receiver
[SUM]   0.00-10.00  sec  10.8 GBytes  9.25 Gbits/sec    0             sender
[SUM]   0.00-10.00  sec  10.8 GBytes  9.25 Gbits/sec                  receiver

N.B. A largura de banda entre os convidados do Linux também parece boa, cerca de 8Gbit / s com 2-3 trabalhadores.

MAS, se eu executá-lo a partir do Windows Guest (Windows Server 2016 Datacenter), vejo uma imagem significativa diferente:

[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  1.25 GBytes  1.07 Gbits/sec                  sender
[  4]   0.00-10.00  sec  1.25 GBytes  1.07 Gbits/sec                  receiver
[  6]   0.00-10.00  sec  1.14 GBytes   983 Mbits/sec                  sender
[  6]   0.00-10.00  sec  1.14 GBytes   983 Mbits/sec                  receiver
[SUM]   0.00-10.00  sec  2.39 GBytes  2.05 Gbits/sec                  sender
[SUM]   0.00-10.00  sec  2.39 GBytes  2.05 Gbits/sec                  receiver

Apenas 2Gbits / seg. O número de trabalhadores paralelos não afeta o resumo.

Eu tentei vários pares:

  • Win VM - > Linux (HW) - ~ 2.5GBits / seg
  • Win VM - > Linux (VM, mesmo host) - ~ 2.5Gits / s
  • Win VM - > Win VM (mesmo host) ~ 1.5Gbits / s

- Info -

Name                           InterfaceDescription              Enabled BaseVmqProcessor MaxProcessors NumberOfReceiveQueues
----                           --------------------              ------- ---------------- ------------- ----------------
NIC-1GBE-02                    QLogic BCM57800 Gigabit Et...#198 False   0:0              16            0
NIC-10GBE-01                   QLogic BCM57800 10 Gigabit...#195 True    0:0              16            0
NIC-10GBE-02                   QLogic BCM57800 10 Gigabit...#196 False   0:0              16            0
NIC-1GBE-01                    QLogic BCM57800 Gigabit Et...#197 False   0:0              16            0
# Get-NetAdapterVmqQueue

Name                           QueueID MacAddress        VlanID Processor VmFriendlyName
----                           ------- ----------        ------ --------- --------------
NIC-10GBE-01                   0       00-15-5D-04-11-05 50     0:0
PS C:\Windows\system32> Get-NetAdapterRss

Name                                            : NIC-1GBE-02
InterfaceDescription                            : QLogic BCM57800 Gigabit Ethernet (NDIS VBD Client) #198
Enabled                                         : True
NumberOfReceiveQueues                           : 4
Profile                                         : NUMAStatic
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 0:38
MaxProcessors                                   : 16
RssProcessorArray: [Group:Number/NUMA Distance] : 0:0/0  0:2/0  0:4/0  0:6/0  0:8/0  0:10/0  0:12/0  0:14/0
                                                  0:16/0  0:18/0  0:20/32767  0:22/32767  0:24/32767  0:26/32767
                                                  0:28/32767  0:30/32767
                                                  0:32/32767  0:34/32767  0:36/32767  0:38/32767
IndirectionTable: [Group:Number]                :

Name                                            : vEthernet (VSW-10GBE-01)
InterfaceDescription                            : Hyper-V Virtual Ethernet Adapter #2
Enabled                                         : True
NumberOfReceiveQueues                           : 16
Profile                                         : NUMAStatic
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 0:38
MaxProcessors                                   : 4
RssProcessorArray: [Group:Number/NUMA Distance] : 0:0/0  0:2/0  0:4/0  0:6/0  0:8/0  0:10/0  0:12/0  0:14/0
                                                  0:16/0  0:18/0  0:20/0  0:22/0  0:24/0  0:26/0  0:28/0  0:30/0
                                                  0:32/0  0:34/0  0:36/0  0:38/0
IndirectionTable: [Group:Number]                : 0:0   0:20    0:2     0:22    0:0     0:20    0:2     0:22
                                                  0:0   0:20    0:2     0:22    0:0     0:20    0:2     0:22

Name                                            : NIC-10GBE-01
InterfaceDescription                            : QLogic BCM57800 10 Gigabit Ethernet (NDIS VBD Client) #195
Enabled                                         : True
NumberOfReceiveQueues                           : 16
Profile                                         : NUMAStatic
BaseProcessor: [Group:Number]                   : :0
MaxProcessor: [Group:Number]                    : :38
MaxProcessors                                   : 16
RssProcessorArray: [Group:Number/NUMA Distance] :
IndirectionTable: [Group:Number]                :

Name                                            : NIC-10GBE-02
InterfaceDescription                            : QLogic BCM57800 10 Gigabit Ethernet (NDIS VBD Client) #196
Enabled                                         : True
NumberOfReceiveQueues                           : 4
Profile                                         : NUMAStatic
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 0:38
MaxProcessors                                   : 16
RssProcessorArray: [Group:Number/NUMA Distance] : 0:0/0  0:2/0  0:4/0  0:6/0  0:8/0  0:10/0  0:12/0  0:14/0
                                                  0:16/0  0:18/0  0:20/32767  0:22/32767  0:24/32767  0:26/32767
                                                  0:28/32767  0:30/32767
                                                  0:32/32767  0:34/32767  0:36/32767  0:38/32767
IndirectionTable: [Group:Number]                :

Name                                            : NIC-1GBE-01
InterfaceDescription                            : QLogic BCM57800 Gigabit Ethernet (NDIS VBD Client) #197
Enabled                                         : True
NumberOfReceiveQueues                           : 4
Profile                                         : NUMAStatic
BaseProcessor: [Group:Number]                   : 0:0
MaxProcessor: [Group:Number]                    : 0:38
MaxProcessors                                   : 16
RssProcessorArray: [Group:Number/NUMA Distance] : 0:0/0  0:2/0  0:4/0  0:6/0  0:8/0  0:10/0  0:12/0  0:14/0
                                                  0:16/0  0:18/0  0:20/32767  0:22/32767  0:24/32767  0:26/32767
                                                  0:28/32767  0:30/32767
                                                  0:32/32767  0:34/32767  0:36/32767  0:38/32767
IndirectionTable: [Group:Number]                :

O que há de errado com os convidados do Windows? O que eu posso ajustar para contornar 10Gbit / s?

    
por Dmitriy Sosunov 09.02.2018 / 15:52

2 respostas

3

Tente desabilitar o VMQ nos Comutadores Virtuais e dentro das máquinas virtuais.

Veja aqui os links de Microsoft e DELL sobre esse assunto.

    
por 09.02.2018 / 21:33
0

A sua descrição é lida exactamente como esta: KB: " Mau desempenho de rede em máquinas virtuais num Windows Server 2012 Hyper- V host se o VMQ estiver ativado ".

O VMQ deve estar desativado para seus adaptadores. Se isso não estiver funcionando, verifique o log de eventos.

    
por 14.02.2018 / 12:57