Acabei de atualizar minha LAN para gigabit. É isso que a netperf tem a dizer sobre as coisas.
Antes:
marcus@lt:~$ netperf -H 192.168.1.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1)
port 0 AF_INET : demo
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.02 94.13
Depois de:
marcus@lt:~$ netperf -H 192.168.1.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.1.1 (192.168.1.1) port 0 AF_INET : demo
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.01 339.15
Apenas 340 Mbps? O que há com isso?
Informações de fundo: estou conectando através de um switch gigabit a um plug-in sheeva. Eu tenho fiação de Cat5e nas paredes e a corrida é talvez 30 pés. Se você não está familiarizado com o netperf, ele tem uma tendência a dar resultados muito estáveis e nunca mentir.
networking
debian
gigabit-ethernet
Marcusw
fonte
fonte
Respostas:
Confira este tópico . Um dos colaboradores (Frennzy) descreve isso muito bem. Vou citar:
E isso, mais tarde no segmento (meu destaque):
fonte
O termo 'máximo teórico' é usado, mas ele tem uma aplicação prática com tecnologias Ethernet. Em um sistema CSMA / CD como o da Ethernet, você só pode enviar cerca de metade da largura de banda do tráfego à medida que o cabo é conectado, geralmente um pouco menos. A razão é porque uma vez que você tenta ir além do 'máximo', então os transceptores começarão a detectar colisões mais do que eles estão transmitindo pacotes. Então o back-off exponencial entra em jogo e a transmissão de pacotes se degrada ainda mais. Token ring contornou isso, mas ele tinha muitos problemas e não é muito usado, acredito. Ethernet / IP tornou-se o padrão de fato.
As tecnologias de uplink, como T3, usam pares assíncronos que permitem o throughput total em cada fio, mas também não é um protocolo baseado em Ethernet.
Enquanto você estiver usando dispositivos Ethernet básicos e padrão, sempre haverá o "máximo teórico".
fonte
Falar sobre o CSMA / CD no contexto do GbE é totalmente falso. Gigabit Ethernet, ou qualquer Ethernet "full-duplex", não usa CSMA / CD. E, embora a GbE ainda mantivesse a possibilidade teórica de operação half-duplex, não tenho certeza de que alguma vez houve algum kit GbE de produção real que fizesse half-duplex.
Quanto ao motivo de o OP ter alcançado apenas 300 Mbit / s através de um link de 1000 Gbit / s, sugiro que você colete estatísticas do netstat para o TCP antes e depois de cada execução do netperf e inclua as opções de linha de comando -c e -C para ver qual é a utilização da CPU nos dois lados. Talvez algo esteja descartando pacotes, ou talvez a CPU de um lado ou de outro esteja saturada. Se os sistemas em ambas as extremidades forem multicore, verifique as utilizações por núcleo com uma ferramenta externa ou através da saída de depuração netperf.
Outras perguntas sobre netperf provavelmente são deixadas para a netperf-talk na lista de discussão da netperf.org.
fonte