Maximize a velocidade de transferência de rede de vários aplicativos

Maximize a velocidade de transferência de rede de vários aplicativos

Ao usar nc, scppara wgettransferir arquivos entre 2 máquinas em um link dedicado de 2 Mbps, obtenho velocidades entre 0,5 e 1 Mbps. Porém, quando utilizo iperf -c 10.0.1.4 -t 20 -P 12(por exemplo) consigo maximizar a velocidade do link (ficando estáveis ​​2Mbps).

Existe uma maneira de fazer transferências de fluxo único (como as feitas por scp) para utilizar todo/a maior parte do link? Algum tipo de configuração de tcp ou iptables ...?

Responder1

Primeiro, vamos admitir que você está comparando maçãs e laranjas.

nce normalmente transfere com um único soquete TCP scp. wgetNo entanto, quando você usa iperf -P 12, você está usandodozesoquetes TCP paralelos. Esta é uma distinção não trivial. Quanto mais conexões paralelas você tiver, maior será o consumo de largura de banda. Na verdade,speedtest.netusa vários fluxos TCP paralelos para medir com segurança a capacidade de largura de banda, mesmo se o seu link tiver perda significativa de pacotes que poderia ocupar um único soquete TCP; Eu os vi saturar links com perda de 1,5% (o que dizimaria a taxa de transferência em um soquete TCP normal).

Os principais motivos para transferências TCP de soquete único abaixo do ideal são perda de pacotes e atraso/jitter. Você precisa identificar e corrigir se há alguma perda contínua de pacotes através do seu link... Eu costumo usarmtrouwinmtrpor esta...

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

Se você vir um salto onde você perde pacotes consistentemente ao longo do tempo,eos saltos por trás dele estão perdendo pacotes, então você precisa consertar o que está causando a perda de pacotes. Normalmente meço durante pelo menos cinco ou dez minutos... muitas vezes durante horas, se não vejo o problema imediatamente.

A outra situação é o atraso... você precisará quantificar ainda mais o problema com detalhes sobre o atraso de ponta a ponta, bem como informações do sistema operacional src/dest antes que alguém possa responder a isso.

Então você tem algumas opções...:

  • Descubra o que está causando queda no desempenho
  • Divida suas transferências em vários arquivos e transfira-os em paralelo (para superar quaisquer fatores que estejam diminuindo seu rendimento agora)

informação relacionada