Maximice la velocidad de transferencia de red de varias aplicaciones

Maximice la velocidad de transferencia de red de varias aplicaciones

Cuando uso nc, scp, wgetpara transferir archivos entre 2 máquinas en un enlace dedicado de 2 Mbps, obtengo velocidades entre 0,5 y 1 Mbps. Sin embargo, cuando uso iperf -c 10.0.1.4 -t 20 -P 12(por ejemplo) puedo maximizar la velocidad del enlace (obteniendo 2Mbps estables).

¿Existe alguna forma de realizar transferencias de flujo único (como las realizadas por scp) para utilizar todo o la mayor parte del enlace? ¿Algún tipo de configuración tcp o iptables...?

Respuesta1

Primero admitamos que estás comparando manzanas y naranjas.

ncy normalmente scpse wgettransfiere con un único socket TCP. Sin embargo, cuando usas iperf -P 12, estás usandodocesockets TCP paralelos. Esta es una distinción no trivial. Cuantas más conexiones paralelas tengas, mayor será tu consumo de ancho de banda. De hecho,speedtest.netutiliza múltiples flujos TCP paralelos para medir de manera confiable la capacidad de ancho de banda, incluso si su enlace tiene una pérdida significativa de paquetes que afectaría un solo socket TCP; Los he visto saturar enlaces con una pérdida del 1,5% (lo que diezmaría el rendimiento en un socket TCP normal).

Las principales razones de las transferencias TCP de un solo socket que no son óptimas son la pérdida de paquetes y el retraso o la fluctuación. Debe identificar y corregir si tiene alguna pérdida de paquetes continua a través de su enlace... Normalmente usomtrowinmtrpara esto...

mpenning@mpenning-T61:~$ mtr -n <destination_ip>
HOST: mpenning-T61              Loss%   Snt   Last   Avg  Best  Wrst StDev
  1. 10.239.84.1                0.0%    407    8.8   9.1   7.7  11.0   1.0
  2. 66.68.3.223                0.0%    407   11.5   9.2   7.1  11.5   1.3
  3. 66.68.0.8                  0.0%    407   19.9  16.7  11.2  21.4   3.5
  4. 72.179.205.58              0.0%    407   18.5  23.7  18.5  28.9   4.0
  5. 66.109.6.108               5.2%    407   16.6  17.3  15.5  20.7   1.5 <----
  6. 66.109.6.181               4.8%    407   18.2  19.1  16.8  23.6   2.3
  7. 4.59.32.21                 6.3%    407   20.5  26.1  19.5  68.2  14.9
  8. 4.69.145.195               6.4%    406   21.4  27.6  19.8  79.1  18.1
  9. <destination_ip>           6.8%    406   22.3  23.3  19.4  32.1   3.7

Si ve un salto en el que pierde paquetes constantemente con el tiempo,ylos saltos detrás de él están perdiendo paquetes, entonces necesita arreglar lo que sea que esté causando la pérdida de paquetes. Normalmente mido durante al menos cinco o diez minutos... a menudo durante horas, si no veo el problema de inmediato.

La otra situación es la demora... necesitará cuantificar más el problema con detalles sobre la demora de un extremo a otro, así como información del sistema operativo src/dest antes de que alguien pueda responder a esto.

Entonces tienes algunas opciones... ya sea:

  • Descubra qué está causando que su rendimiento baje
  • Divida sus transferencias en varios archivos y transfiéralas en paralelo (para superar cualquier factor que esté reduciendo su rendimiento ahora)

información relacionada