Existem muitos motivos pelos quais você pode não estar vendo 10Gbps no link. Eu posso oferecer o seguinte:
-
O
- PCIe 2.0 oferece uma largura de banda efetiva de 4 Gbps por faixa. Uma placa PCIe 2.0 4x em um slot PCIe 2.0 ou melhor 8x terá um link 4x, fornecendo 20Gbps de largura de banda efetiva. Isso é suficiente para lidar com ambos os links sendo totalmente saturados, supondo que o resto do seu hardware possa lidar com isso.
- Muitos sistemas operacionais para servidores e desktops de uso geral não estão configurados por padrão para lidar com redes de alta largura de banda.
Para obter um desempenho completo desse cartão, você deverá:
- Desative qualquer coisa que restrinja o desempenho da rede ou o processamento de velocidade / interrupção da CPU:
service irqbalance stop
service cpuspeed stop
chkconfig irqbalance off
chkconfig cpuspeed off
- Ativar quadros jumbo de 9K com um comprimento de fila de transmissão alto:
ifconfig eth2 mtu 9000 txqueuelen 1000 up
- Aumente os buffers de rede para que eles possam manter o cartão saturado com dados:
# -- 10gbe tuning from Intel ixgb driver README -- #
# turn off selective ACK and timestamps
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
# memory allocation min/pressure/max.
# read buffer, write buffer, and buffer space
net.ipv4.tcp_rmem = 10000000 10000000 10000000
net.ipv4.tcp_wmem = 10000000 10000000 10000000
net.ipv4.tcp_mem = 10000000 10000000 10000000
net.core.rmem_max = 524287
net.core.wmem_max = 524287
net.core.rmem_default = 524287
net.core.wmem_default = 524287
net.core.optmem_max = 524287
net.core.netdev_max_backlog = 300000
Há outros ajustes que você pode fazer no link PCI, como aumentar o tamanho máximo do bloco para 4K. Adequadamente ajustado, você deve ser capaz de aplicar 9,90 Gbps em cada link.
Tenha em mente que o servidor e cliente, e cada salto ao longo do caminho (switch / roteador) deve ser ajustado de maneira similar para não afunilar o fluxo de dados.