ti-enxame.com

Determinando por que as transferências de arquivos são tão lentas

Estou tentando transferir arquivos grandes (3+ shows cada) através da LAN. Minha conexão é de 100 megabit para a caixa, com uma espinha dorsal de gigabit. No entanto, ao transferir arquivos entre servidores e de um servidor para o meu computador local, a velocidade de transferência paira em torno de 11 a 13 megabits por segundo.

Grandes downloads da Internet, no entanto, vão significativamente mais rápido.

Eu trouxe esse problema com a minha infraestrutura de rede pessoal, mas eles insistem que tudo está bem com a configuração de rede.

Existem ferramentas que eu possa instalar no meu computador ou nos servidores para tentar isolar a fonte da desaceleração?

7
Ryan Michela

Primeiramente, verifique os contadores de interface em cada servidor, deve haver 0 ou perto de 0 erros relatados.

Em segundo lugar, verifique o duplex de ambos os servidores. Se você estiver misturando 100mbit e GBE, então você pode ter uma incompatibilidade duplex. Certifique-se de que ambos os lados sejam definidos para Auto/Automático ou definir manualmente a velocidade e o duplex em todas as interfaces.

Em terceiro lugar, que tipo de disputa existe na espinha dorsal do GBE, você pode confirmar que o headroom suficiente existe para sua transferência?

Finalmente, é o seu servidor de envio capaz de transmitir rápido o suficiente. Como os comentários abaixo sugerem, você é limitado pelo IO banda largura das unidades remetentes, ou pela CPU (se você estiver usando o SCP ou similar)?

BTW, 11 a 13 mega bytes por segundo é o máximo teórico para 100mbit, tem certeza de que a ferramenta que você está usando para medir está relatando as unidades corretas?

8
Dave Cheney

Confira o procedimento a seguir que eu uso, o que pode ajudar a diminuir quando o problema é.


Quando testo taxa de transferência de rede, é melhor remover quantas variáveis ​​possíveis, como Disco E/O ou Limitações da CPU. Aqui está o procedimento que eu uso, que pode ilustrar o máximo típico que você verá em sua rede.

Ferramentas:

Ambos os utilitários devem estar disponíveis na maioria dos sistemas modernos * nix, pré-instalados, por meio de pacotes ou capazes de serem compilados da origem.

Procedimento:

  1. Execute o seguinte comando em um computador para configurar o ouvinte UDP. (Usar o UDP dará números de desempenho mais altos devido à falta de TCP sobrecarga para transferir.)

    nc -ulp 5000 > /dev/null

  2. Na outra máquina, execute o seguinte comando, substituindo o endereço IP do listener, para enviar um fluxo de zeros em toda a rede para o ouvinte NC. O utilitário PV mostrará o desempenho atual como rastreado pelo receptor.

    pv < /dev/zero | nc -u listener-ip-address 5000

Notas:

  • O max teórico em uma conexão GIG Ethernet é 119MB/S (Aviso, M [~ # ~] B [~ # ~] , não m b ))
  • O TCP também pode ser testado removendo os -u em ambos os comandos NC
  • Nos aplicativos do mundo real, você nunca alcançará os números de desempenho ilustrados na saída PV.

Este método fornece resultados previsíveis em uma rede bem projetada com equipamentos de funcionamento adequadamente. Por esse motivo, é uma boa ferramenta para ajudar a descobrir se a própria rede ou o equipamento de rede estiver contribuindo para a "lentidão" percebida.

5
Dave K

Você está no Windows Vista? Observe que o Vista Throttles LAN transfere toda vez que você tem um aplicativo multimídia aberto (incluindo um navegador da Web com flash).

Eu tive esse problema com transferências sendo tampadas em 10MB/s quando eles deveriam ter sido xering em 30-40MB/s.

Você pode desativar o estrangulamento em uma chave de registro detalhada aqui:

http://www.anandtech.com/systems/showdoc.aspx?i=3233&p=2

1
Matias Nino

É uma ferramenta muito antiga, mas eu tive um bom sucesso com Netperf no passado. Deve dar-lhe uma ideia inicial da largura de banda entre dois dispositivos.

0
Aaron

Considere também diferenças no protocolo entre os dois cenários. "Grandes downloads da Internet" soam como HTTP ou FTP sobre TCP/IP. Na LAN, você está usando algo diferente? Talvez um conjunto incompatível de SMB Implementações, ou Apple Filesharing? Eu só mencho isso porque eu vi SMB tráfego entre os sistemas Windows e Unix/Linux se comportam de algumas formas realmente cerebrais.

Tente experimentar com diferentes mecanismos de transferência e ver se isso produz resultados diferentes.

0
Adam D'Amico

Sugestão estúpida, mas é possível que a transferência não esteja acontecendo sobre a LAN, mas realmente está saindo pela Internet? Como você está se conectando entre as máquinas? Eu pergunto porque seus sintomas parecem semelhantes aos discutidos em um episódio recente de dotnetrocks. Veja o transcrição da solução Comece a ler em:

Carl Franklin: Sim. O Buster Brain, queríamos que as pessoas enviassem suas sugestões ou as respostas que pensam, ao que aconteceu.

0
Rob Rolnick

Quando você está transferindo arquivos 'entre servidores', os servidores estão conversando diretamente?

Ou você está no Windows e você tem unidades mapeadas para cada servidor e arrastando os arquivos através deles?

Naquele segundo cenário, tudo está indo através do seu computador, então a transferência mais rápida que você receberá será em torno de 11Mbps.

Se você estiver em um sistema * NIX, use o TTCP para determinar se o seu TCP é o gargalo.

0
MikeyB

Se você estiver usando o Windows, recomendo usar o utilitário gratuito RichCopy . É multithread e pode pausar e retomar operações de cópia de arquivos. Eu tive muita sorte usando para transferir arquivos entre os SEVES.

0
notandy