Um dos problemas com as placas de rede de alto desempenho é que a arquitetura moderna do PC tem um pouco de dificuldade para se manter. Mas, no seu caso, isso não é tanto o problema. Deixe-me explicar.
A CPU precisa trabalhar muito no processamento de pacotes TCP. Isso afeta o rendimento. O que está limitando as coisas no seu caso não é o hardware de rede, mas a capacidade do servidor de saturar os links de rede.
Em tempos mais recentes, vimos o processamento passar da CPU para a NIC, como o descarregamento da soma de verificação. A Intel também adicionou recursos para ajudar a reduzir ainda mais a carga. Isso é legal e tenho certeza que todos os recursos de otimização estão ativados.
Como você aludiu, jumbo frames - na verdade, isso ajuda na produtividade. Mas não tanto quanto RDMA .
A maioria dos hardwares ethernet de 10 GB terá um recurso subutilizado muito bom chamado RDMA ou acesso remoto à memória direta. Ele permite que a NIC faça memória para cópias de memória pela rede sem a intervenção da CPU. Bem, OK, a CPU informa à NIC o que fazer e, em seguida, a NIC faz o resto. O problema é que não é muito usado ainda. Mas está chegando lá. Aparentemente, na versão mais recente do Microsoft Windows Server 2012, eles têm algo chamado SMB Direct . Ele usa RDMA. Então, se você quiser aumentar o rendimento, você quer usar isso.
Você é capaz de montar algum hardware de teste e instalá-lo lá para ver como ele se comporta?
A propósito, eu não tenho certeza se você vai ver isso em 10Gbit tanto, mas RAM rápida ajuda com RDMA especialmente com Infiniband de 56Gbit. Em geral, é melhor usar a RAM mais rápida que seu servidor suporta.
Observe também este comentário no link SMB Direct que eu coloquei acima:
You should not team RDMA-capable network adapters if you intend to use the RDMA capability of the network adapters. When teamed, the network adapters will not support RDMA.
Atualização: Parece que nem todos os 10GBs suportam RDMA da NIC por algum motivo. Portanto, verifique primeiro os recursos do seu modelo.
Outro pensamento que tive foi o tipo de protocolo que está sendo usado para fazer o seu teste pode estar afetando os resultados. isto é, sobrecarga de protocolo no topo da sobrecarga de TCP. Eu sugiro que você olhe em usar algo que pode testar sem tocar no disco rígido, como iperf. Há uma porta do Windows em algum lugar.