Desempenho 10GBASE-T no Windows 7

Desempenho 10GBASE-T no Windows 7

Este é o meu cenário:

-Workstation1: CPU i7-3770 / 16GB ram / placa-mãe Gigabyte Z77-D3H / Crucial CT256MX100SSD1 Sysyem Disk / Adaptador de rede intel X540-T1 / Windows 7 64bit -Workstation2: CPU i7-950 / 12GB ram / placa-mãe ASUS P6X58D-E / Crucial CT256MX100SSD1 Sysyem Disk / Adaptador de rede intel X540-T1 / Windows 7 64bit
-Switcher HP procurve 2920 com duas placas de expansão Ethernet duplas de 10 Gigabit.

Ambos os cabos utp são Cat6 com menos de 15 metros e são conectados diretamente de cada estação de trabalho ao switcher HP. Ambos os adaptadores de rede parecem estar vinculados a 10 Gbps.

Estou testando o desempenho da rede com iperf:

-estação de trabalho1: iperf -s
-estação de trabalho2: iperf -c<workstation1 ip>

Estou obtendo cerca de 1 Gbit por segundo em vez de 10 Gbit por segundo. Então, há algum passo que estou fazendo errado? Alguma informação sobre as limitações de rede do Windows 7? Obrigado.

ATUALIZADO - testes NTttcp

C:\NTttcp-v5.28\x64>NTttcp.exe -s -m 8,*,192.168.1.20 -l 128k -a 2 -t 15

Copyright Versão 5.28
Atividade de rede progredindo...

Tempo(s) de thread, taxa de transferência (KB/s) Média B/Compl    
====== ======= ================ =============    

0 15.001 38661.956 131072.000
1 14.999 38257.484 131072.000   
2 14.998 53989.065 131072.000   
3 14.998 38336.845 131072.000   
4 14.999 38086.806 131072.000   
5 15.000 37563.733 131072.000   
6 14.997 56408.082 131072.000   
7 15.000 52292.267 131072.000   


##### Totais: #####


Bytes (MEG) em tempo real(s) Taxa de transferência média do tamanho do quadro (MB/s)    
=========== =========== ============== ============== ==  
5179.250000 15.000 1459.696 345.283   


> Ciclos de taxa de transferência (buffers/s)/buffers de bytes    
===================== ============== ==========    
      2762.267 6.912 41434.000    


>DPCs(contagem/s) Pacotes(num/DPC) Intr(contagem/s) Pacotes(num/intr)   
============= ============= =============== ========= =====   
    13668,933 1,633 22030,933 1,013   



>Pacotes Enviados Pacotes Recebidos Retransmite Erros Média. CPU %    
============= ================ =========== ====== ==== ======    
     3720525 334723 4364 0 10.179  

Responder1

Experimente as sugestões mostradasaqui

  1. Você precisa que RSS (Receive Side Scaling), LSO (Large Send/Segment Offloading), TCP window scaling (auto tuning) e TCP Chimney (para Windows), opcionalmente RSC (Receive Side Coalescing), estejam configurados corretamente.

Mesmo os processadores modernos não conseguem lidar com leituras de 10 Gb em um único núcleo de processador, portanto, o RSS precisa de configuração com um mínimo de 4 núcleos de processador físico (o RSS não funciona em núcleos lógicos hiperthreaded), possivelmente 8, dependendo do processador, para distribuir a carga de recebimento em vários processadores. Você pode fazer isso via PowerShell (Windows) com o cmdlet Set-NetAdapterRss.

comando de exemplo para um proc de 4 núcleos físicos com Hyerpthreading (0,2,4,6 são físicos, 1,3,5,7 são lógicos... praticamente uma regra prática) Set-NetAdapterRss -Name "" - NumberOfReceiveQueues 4 -BaseProcessorNumber 0 -MaxProcessorNumber 6 -MaxProcessors 4 -Enabled

O LSO é definido nos drivers da NIC e/ou no PowerShell. Isso permite que o Windows/Linux/qualquer coisa crie um pacote grande (digamos 64 KB-1 MB) e deixe o hardware NIC manipular a segmentação dos dados para o valor MSS. Isso reduz o uso do processador no host e torna a transferência mais rápida, pois a segmentação é mais rápida no hardware e o sistema operacional precisa trabalhar menos.

O RSC é configurado no Windows ou Linux e na NIC. Isso faz o oposto do LSO. Pequenos pedaços são recebidos pela NIC e transformados em um pacote grande que é enviado ao sistema operacional. Reduz a sobrecarga do processador no lado de recepção.

Embora o TCP Chimney tenha uma má reputação no mundo de 1 Gb, ele brilha no mundo de 10 Gb. Defina-o como Automático no Windows 8+/2012+ e ele só será ativado em redes de 10 Gb sob determinadas circunstâncias.

O dimensionamento da janela TCP (ajuste automático no mundo Windows) é uma necessidade absoluta. Sem isso, as janelas TCP nunca crescerão o suficiente para sustentar um alto rendimento em uma conexão de 10 Gb.

  1. Habilite jumbo frames de 9K (algumas pessoas dizem não, outras dizem que sim... realmente depende do hardware, então teste os dois lados).

No meu hardware, habilitar jumbo frames era o ponto crítico. Preste também atenção especial à configuração de coalescência de IRQ.

informação relacionada