Taxa de transferência muito baixa na rede de 10 GbE

5

Eu tenho duas máquinas Linux, cada uma equipada com uma placa de rede Solarflare SFN5122F 10GbE. As duas NICs são conectadas em conjunto com um cabo de conexão direta SFP +.

Estou usando netperf para medir a taxa de transferência TCP entre as duas máquinas. Em uma caixa, eu corro:

netserver

e, por outro:

netperf -t TCP_STREAM -H 192.168.x.x -- -m 32768

Eu recebo:

MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.x.x (192.168.x.x) port 0 AF_INET
Recv   Send    Send                          
Socket Socket  Message  Elapsed              
Size   Size    Size     Time     Throughput  
bytes  bytes   bytes    secs.    10^6bits/sec  

 87380  16384  32768    10.02    1321.34   

A taxa de transferência medida é de 1,3 Gb / s. Isso é 7.5x abaixo do máximo teórico e apenas 30% mais rápido que 1GbE.

Que passos posso dar para resolver este problema?

    
por NPE 10.04.2012 / 22:03

1 resposta

6

poucas coisas:

  • você tentou ajustar o mtu para fazer uso de jumbo-frames
  • tem a certeza absoluta de que a ligação entre os dois servidores não tem perdas de pacotes?
  • o ethtool mostra algum erro nas interfaces nas duas extremidades?
  • o que o top / onop diz durante o teste prolongado - você vê algum dos núcleos totalmente ocupados pelo iowait?

você [provavelmente] não atingirá 10gbit completos em uma única sessão tcp, mas você pode fazer alguns ajustes adicionais para se aproximar dele, aprimorando o manuseio do tcp e a comunicação com a própria placa de rede - dê uma olhada aqui ou aqui .

    
por 10.04.2012 / 22:10