NICs de 10 gigabits mostrando apenas metade da taxa de transferência

4

Eu tenho 2 servidores físicos:

  1. Dois processadores Intel E5504 @ 2GHz, 24 GB de RAM, SSDs Intel X25-E de 12x32 GB em RAID10.
  2. Intel Core2 6400 @ 2.12GHz, 3GB de RAM, unidade SATA simples de 80GB.

As duas máquinas executam o Windows Server 2008 R2 agora e têm 10Gbit Supermicro AOC-STGN-i2S (na verdade elas são Intel 82599 tendo o logotipo Supermicro ) em slots PCIe x4 - com um cabo axial duplo conectado diretamente entre eles.

O segundo servidor é apenas para teste.

Primeiro instalei o ESXi no segundo e usei o primeiro como um armazenamento de dados.

Percebi que, de acordo com o CrystalDiskMark, uma VM no ESX obteve apenas 325 MB / s taxa de transferência seq (testada com NFS e ISCSI).

Eu executei o mesmo teste no primeiro servidor localmente e obtive ~ 1000 MB / s . Gostaria de saber se o link de rede realmente mata 2/3 da velocidade, então eu substitui o disco rígido do segundo e instalei o Windows Server 2008 R2 e tentei Jperf e NTTtcp. O Jperf mostrou 400 MB / s e o NTttcp mostrou 4300-4600Mbit / s. O Gerenciador de Tarefas do Windows mostrou cerca de 600.000.000 bytes por intervalo, o que significa 4,47 Gigabits .

Eu verifiquei que ambas as extremidades tinham full duplex e tentei ativar e desativar os jumbo frames em ambas as extremidades, mas a diferença foi de apenas 580.000.000 vs 600.000.000 bytes por intervalo.

Por que o throughput que estou vendo é apenas cerca de metade do máximo teórico de 10 gigabits?

ADENDO

Linhas de comando do NTTtcp:

ntttcpr -m 6,0,192.168.137.1 -a 6 (receiver)
ntttcps -m 6,0,192.168.137.1 -a 6 (sender)
    
por Henno 18.05.2011 / 23:37

1 resposta

3

Eu suspeito que seus slots PCI-e x4 sejam o gargalo. O throughput teórico nesses slots deve estar na faixa de 16 Gbps (saturando o NIC com espaço de sobra), mas isso nem sempre é bem implementado do ponto de vista do controlador.

Tem um slot x8 ou superior que você pode roubar de outra coisa para testar?

    
por 19.05.2011 / 00:00