Estaba probando el rendimiento entre dos PC, conectadas en el mismo enrutador, una con 100mbps lan, la otra con 54mbps wifi.
Esta es la parte interesante:
- usando
nc
, obtengo 2.63MB / s cuando envío de A a B (medido conpv -r|nc ipB
) - usando
iperf
, obtengo 23MB / s, lo cual está bastante bien.
¿Con qué podría estar mal nc
?
El sistema operativo es ubuntu 11.04 para ambos.
Respuestas:
El sonido de escala correcto para NetCat no admite TCP Windowing. Si realiza un tcpdump en la interfaz mientras se ejecutan los dos puntos de referencia, supongo que verá este patrón para NC:
Y este patrón para IPerf:
Al vincular segmentos TCP, puede obtener rendimientos mucho más altos ya que no tiene que esperar el Ack después de cada paquete, solo después de cada segmento.
fuente
dd/netcat
Este informa un ancho de banda menor en comparación coniperf
.dd/netcat
informa sobre 3Gb / s mientras queiperf
informa 9Gb / s.No es
netcat
. Coniperf
yo consigoCon
nc -l -p 1852 > /dev/null
ycat /dev/zero | pv -r | nc 192.168.1.200 1852
consigo(Fluctúa entre 30 y 60.)
¿Qué datos estás alimentando
netcat
?fuente
El hecho de que su tarjeta inalámbrica sea capaz de conexiones de 54mbs no significa que obtendrá ese rendimiento. En particular, parece que tiene 802.11g que tiene un talón Achilies . Mientras ** cada dispositivo inalámbrico * que está hablando con es también g va a ir rápido, pero tan pronto como incluso un dispositivo que sólo es b velocidad capaz, tiene que utilizar el mínimo común denominador para hablar con todos los dispositivos.
Puede intentar abrir un terminal en la máquina con conexión inalámbrica y en ejecución
iwconfig
. Busque el campo Bit Rate = y vea a qué velocidad está realmente conectado.fuente
Tenga cuidado con las unidades iperf. Este es un error común: iperf a menudo se muestra en Mbit / s en lugar de Mbyte / s.
fuente