Isso parece relacionado a este , mas é um pouco diferente.
Existe esse link WAN entre dois sites da empresa e precisamos transferir um único arquivo muito grande (dump do Oracle, ~ 160 GB).
Temos uma largura de banda total de 100 Mbps (testada), mas parece que uma única conexão TCP não pode ser maximizada devido a como o TCP funciona (ACKs, etc.). Nós testamos o link com iperf , e os resultados mudam drasticamente ao aumentar o tamanho da janela TCP: com as configurações básicas, obtemos uma taxa de transferência de ~ 5 Mbps , com um WS maior, podemos chegar a ~ 45 Mbps, mas não mais do que isso. A latência da rede é de cerca de 10 ms.
Por curiosidade, rodamos o iperf usando mais de uma conexão, e descobrimos que, ao rodar quatro deles, eles alcançariam uma velocidade de ~ 25 Mbps cada, preenchendo toda a largura de banda disponível; então a chave parece estar em execução de múltiplas transferências simultâneas.
Com o FTP, as coisas pioram: mesmo com configurações de TCP otimizadas (Tamanho de janela alto, máx. MTU etc.), não podemos obter mais de 20 Mbps em uma única transferência. Nós tentamos FTPing alguns arquivos grandes ao mesmo tempo, e de fato as coisas ficaram muito melhores do que quando se transferia uma única; mas então o culpado se tornou disco de E / S, porque ler e escrever quatro grandes arquivos dos mesmos gargalos de disco muito em breve; Além disso, parece que não conseguimos dividir esse único arquivo grande em arquivos menores e, em seguida, mesclá-lo novamente, pelo menos não em tempos aceitáveis (obviamente não podemos gastar a junção / mesclagem do arquivo em um tempo comparável ao do arquivo). transferindo-o).
A solução ideal aqui seria uma ferramenta multithread que poderia transferir vários fragmentos do arquivo ao mesmo tempo; mais ou menos como programas peer-to-peer, como o eMule ou o BitTorrent, mas de uma única fonte para um único destino. Idealmente, a ferramenta nos permitiria escolher quantas conexões paralelas usar e, é claro, otimizar a E / S de disco para não pular (demais) loucamente entre as várias seções do arquivo.
Alguém sabe de tal ferramenta?
Ou, alguém pode sugerir uma solução melhor e / ou algo que já não tentamos?
P.S. Nós já pensamos em fazer backup disso em fita / disco e enviá-lo fisicamente ao destino; essa seria nossa medida extrema se a WAN simplesmente não cortasse, mas, como A.S. Tanenbaum disse: "Nunca subestime a largura de banda de uma caminhonete cheia de fitas correndo pela estrada."