Eu estava testando a taxa de transferência entre dois computadores, conectados no mesmo roteador, um com lan de 100mbps e outro com wifi de 54mbps.
Aqui está a parte interessante:
- usando
nc
, recebo 2,63MB / s ao enviar de A para B (medido compv -r|nc ipB
) - usando
iperf
, recebo 23MB / s, o que é praticamente bom.
O que poderia estar errado nc
?
O sistema operacional é o ubuntu 11.04 para ambos.
Respostas:
A escala parece correta para o NetCat não suportar TCP Windowing. Se você fizer um tcpdump na interface enquanto os dois benchmarks estiverem em execução, acho que você verá esse padrão para o NC:
E esse padrão para o IPerf:
Ao janelas de segmentos TCP, você pode obter taxas de transferência muito mais altas, pois não precisa esperar o Ack após cada pacote, somente após cada segmento.
fonte
dd/netcat
relata largura de banda menor em comparação comiperf
.dd/netcat
relatório sobre 3Gb / s, enquantoiperf
relata 9Gb / s.Não é
netcat
. Comiperf
eu receboCom
nc -l -p 1852 > /dev/null
ecat /dev/zero | pv -r | nc 192.168.1.200 1852
eu recebo(Varia entre 30 e 60.)
Quais dados você está alimentando
netcat
?fonte
Só porque sua placa sem fio é capaz de conexões de 54 mbs, não significa que você obterá essa taxa de transferência. Em particular, parece que você tem 802.11g, que possui um salto Achilies . Enquanto ** todo * dispositivo sem fio com o qual está falando também for g, ele será rápido, mas assim que um dispositivo que é apenas b velocidade capaz, ele tem que usar o menor denominador comum para conversar com todos os dispositivos.
Você pode tentar abrir um terminal na máquina sem fio e em execução
iwconfig
. Procure o campo Bit Rate = e veja a que velocidade você está realmente conectado.fonte
Cuidado com as unidades iperf. Essa é uma armadilha comum: o iperf geralmente é exibido em Mbit / s em vez de Mbyte / s.
fonte