Qual é a melhor maneira de transferir um único file grande em um link WAN de alta velocidade e alta latência?

Isso pairece relacionado a este , mas é um pouco diferente.

Existe este link de WAN entre dois sites da empresa, e precisamos transferir um único file muito grande (Oracle dump, ~ 160 GB).

Temos uma lairgura de banda completa de 100 Mbps (testada), mas pairece que uma única connection TCP simplesmente não pode diminuir devido ao funcionamento da TCP (ACKs, etc.). Nós testamos o link com o iperf e os resultados mudam dramaticamente ao aumentair o tamanho da window do TCP: com as configurações de base obtemos um throughput de ~ 5 Mbps, com um WS maior, podemos obter até ~ 45 Mbps, mas não mais do que isso. A latência da networking é de cerca de 10 ms.

Por curiosidade, corremos o iperf usando mais do que uma única connection, e descobrimos que, ao executair quatro deles, eles realmente conseguiriam uma velocidade de ~ 25 Mbps cada, preenchendo toda a lairgura de banda disponível; então a key pairece estair executando múltiplas transferências simultâneas.

Com o FTP, as coisas pioram: mesmo com configurações TCP otimizadas (tamanho de window alto, MTU máximo, etc.), não podemos obter mais de 20 Mbps em uma única transferência. Nós tentamos FTPair alguns files grandes ao mesmo tempo, e, de fato, as coisas ficairam muito melhores do que ao transferir um único; mas então o culpado tornou-se E / S de disco, porque lendo e escrevendo quatro grandes files dos mesmos estrangulamentos de disco em breve; também, não pairece ser capaz de dividir esse único file grande em menores e, em seguida, combiná-lo de volta, pelo less não em momentos aceitáveis ​​(obviamente, não podemos gastair empalmair / juntair o file um tempo compairável ao de transferindo-o).

A solução ideal aqui seria uma ferramenta de multithread que poderia transferir vários pedaços do file ao mesmo tempo; tipo de programas peer-to-peer como o eMule ou o BitTorrent já fazem, mas de uma única fonte paira um único destino. Idealmente, a ferramenta nos permitiria escolher quantas conexões pairalelas usair, e, clairo, otimizair a E / S do disco paira não pulair (também) loucamente entre várias seções do file.

Alguém conhece essa ferramenta?

Ou, alguém pode sugerir uma solução melhor e / ou algo que nós já não tentamos?

PS Nós já pensamos em apoiair isso em fita / disco e enviá-lo fisicamente paira o destino; essa seria a nossa medida extrema se a WAN simplesmente não cortá-la, mas, como AS Tanenbaum disse: "Nunca subestime a lairgura de banda de um vagão de estação cheio de fitas que se precipitam pela estrada".

  • ASCII vs Binairy vs Auto?
  • Transferir files via SSH
  • Webapp paira entrega segura de files aos clientes?
  • Usando o rsync paira cairregair rapidamente um file que é semelhante a outro file
  • O que é um aplicativo simples paira espelhair uma pasta de files (Windows) paira um server remoto (linux)?
  • Mais rápido, seguro, protocolo / código necessário paira transferência de longa distância
  • 5 Solutions collect form web for “Qual é a melhor maneira de transferir um único file grande em um link WAN de alta velocidade e alta latência?”

    A procura de "transferência de files de alta latência" traz muitos hits interessantes. Clairamente, este é um problema que tanto a comunidade CompSci como a comunidade comercial colocairam.

    Algumas ofertas comerciais que pairecem adequair-se à conta:

    • O FileCatalyst possui produtos que podem transmitir dados em networkings de alta latência usando UDP ou vários streams TCP. Eles também têm muitos outros resources (compression on-the-fly, transferências delta, etc.).

    • A "tecnologia" de transferência de files fasp da Aspera pairece atender à conta paira o que você está procurando, também.

    No mundo open-source, o projeto uftp pairece promissor. Você não precisa pairticulairmente de seus resources multicast, mas a idéia básica de explodir um file paira receptores, receber NAKs paira blocos perdidos no final da transferência e, em seguida, explodir os blocos NAK'd (espuma, enxaguair, repetir) pairece que fairia o que você precisa, uma vez que não há ACK'ing (ou NAK'ing) do receptor até que a transferência do file tenha sido concluída uma vez. Supondo que a networking está apenas latente, e não com perdas, isso pode fazer o que você precisa também.

    Sugestão realmente estranha, esta … Configure um server web simples paira hospedair o file em sua networking (sugiro nginx, aliás) e, em seguida, configure um pc com o Firefox em outra extremidade e instale a extensão DownThemAll .

    É um acelerador de download que é compatível com o airmazenamento e reassemblagem.
    Você pode quebrair cada download em 10 pedaços paira re-assembly, e realmente faz as coisas mais rápidas!

    (caucanvas: eu nunca tentei em nada tão grande quanto 160GB, mas funciona bem com files iso de 20GB)

    O transporte UDT é provavelmente o transporte mais populair paira comunicações de alta latência. Isso leva ao seu outro softwaire chamado Sector / Sphere, um "Sistema de files distribuídos de alto performance e um mecanismo de processamento de dados pairalelo", que pode valer a pena view.

    Minha resposta é um pouco atrasada, mas acabei de encontrair esta questão, enquanto procurava o fasp. Durante essa search, eu também achei isso: http://tsunami-udp.sourceforge.net/ , o "Protocolo Tsunami UDP".

    Do seu site:

    Um protocolo rápido de transferência de files de espaço paira users que usa controle TCP e dados UDP paira transferência em networkings de longa distância de alta velocidade (≥ 1 Gbps e até 10 GE), projetado paira fornecer mais throughput do que o possível com TCP nas mesmas networkings. networkings.

    No que diz respeito à velocidade, a página menciona esse resultado (usando um link entre Helsínquia, Finlândia paira Bonn, Alemanha, em um link de 1GBit:

    Figura 1 – transferência internacional pela Internet, com média de 800 Mbit / segundo

    Se você deseja usair um acelerador de download, dê uma olhada no lftp, este é o único acelerador de download que pode fazer um espelho recursivo, tanto quanto eu sei.

    O utilitário bbcp da página muito relevante "Como transferir grandes quantidades de dados via networking" pairece ser a solução mais simples.