Cela semble lié à celui-ci , mais c'est quelque peu différent.
Il existe ce lien WAN entre deux sites de l'entreprise et nous devons transférer un seul fichier très volumineux (vidage Oracle, ~ 160 Go).
Nous avons une bande passante complète de 100 Mbps (testée), mais il semble qu'une seule connexion TCP ne puisse tout simplement pas la maximiser en raison du fonctionnement de TCP (ACK, etc.). Nous avons testé le lien avec iperf , et les résultats changent considérablement lors de l'augmentation de la taille de la fenêtre TCP: avec les paramètres de base, nous obtenons un débit de ~ 5 Mbps, avec un WS plus grand, nous pouvons obtenir jusqu'à ~ 45 Mbps, mais pas plus. La latence du réseau est d'environ 10 ms.
Par curiosité, nous avons exécuté iperf en utilisant plusieurs connexions, et nous avons constaté qu'en exécutant quatre d'entre elles, elles atteindraient en effet une vitesse de ~ 25 Mbps chacune, remplissant toute la bande passante disponible; de sorte que la clé semble être d'exécuter plusieurs transferts simultanés.
Avec FTP, les choses empirent: même avec des paramètres TCP optimisés (taille de fenêtre élevée, MTU max, etc.), nous ne pouvons pas obtenir plus de 20 Mbps sur un seul transfert. Nous avons essayé de FTPer de gros fichiers en même temps, et en effet les choses se sont beaucoup améliorées que lors du transfert d'un seul; mais le coupable est devenu E / S disque, car très bientôt la lecture et l'écriture de quatre gros fichiers à partir des mêmes goulots d'étranglement de disque; De plus, nous ne semblons pas être en mesure de diviser ce grand fichier unique en plus petits, puis de le fusionner à nouveau, du moins pas dans des délais acceptables (évidemment, nous ne pouvons pas dépenser l'épissage / la fusion du fichier à un moment comparable à celui de le transférer).
La solution idéale ici serait un outil multithread qui pourrait transférer plusieurs morceaux du fichier en même temps; un peu comme des programmes peer-to-peer comme eMule ou BitTorrent le font déjà, mais d'une seule source à une seule destination. Idéalement, l'outil nous permettrait de choisir le nombre de connexions parallèles à utiliser, et bien sûr d'optimiser les E / S disque pour ne pas (trop) sauter follement entre les différentes sections du fichier.
Quelqu'un connaît-il un tel outil?
Ou, quelqu'un peut-il suggérer une meilleure solution et / ou quelque chose que nous n'avons pas déjà essayé?
PS Nous avons déjà pensé à sauvegarder cela sur bande / disque et à l'envoyer physiquement à destination; ce serait notre mesure extrême si le WAN ne le coupe pas, mais, comme l'a dit AS Tanenbaum, "Ne sous-estimez jamais la bande passante d'un break rempli de bandes qui dévalent l'autoroute."
la source
Réponses:
La recherche de "transfert de fichiers à latence élevée" fait apparaître de nombreux résultats intéressants. De toute évidence, c'est un problème dans lequel la communauté CompSci et la communauté commerciale se sont penchées.
Quelques offres commerciales qui semblent correspondre à la facture:
FileCatalyst propose des produits qui peuvent diffuser des données sur des réseaux à latence élevée en utilisant UDP ou plusieurs flux TCP. Ils ont aussi beaucoup d'autres fonctionnalités (compression à la volée, transferts delta, etc.).
La «technologie» de transfert de fichiers fasp d'Aspera semble également convenir à ce que vous recherchez.
Dans le monde open-source, le projet uftp semble prometteur. Vous n'avez pas particulièrement besoin de ses capacités de multidiffusion, mais l'idée de base de dynamiter un fichier vers les récepteurs, de recevoir des NAK pour les blocs manqués à la fin du transfert, puis de dynamiter les blocs NAK (mousser, rincer, répéter) semble qu'il ferait ce dont vous avez besoin, car il n'y a pas d'accusé de réception (ou de NAK) du récepteur tant que le transfert de fichier n'est pas terminé une fois. En supposant que le réseau est juste latent et non avec perte, cela pourrait aussi faire ce dont vous avez besoin.
la source
Suggestion vraiment étrange celle-ci .. Mettre en place un simple serveur Web pour héberger le fichier sur votre réseau (je suggère nginx, soit dit en passant), puis configurer un PC avec Firefox à l'autre extrémité, et installer l' extension DownThemAll .
Il s'agit d'un accélérateur de téléchargement qui prend en charge la segmentation et le réassemblage.
Vous pouvez diviser chaque téléchargement en 10 morceaux pour le réassemblage, et cela rend les choses plus rapides!
(mise en garde: je ne l'ai jamais essayé sur quelque chose d'aussi gros que 160 Go, mais cela fonctionne bien avec des fichiers iso de 20 Go)
la source
Le transport UDT est probablement le transport le plus populaire pour les communications à latence élevée. Cela mène à leur autre logiciel appelé Sector / Sphère, un «système de fichiers distribués haute performance et moteur de traitement de données parallèle» qui pourrait valoir la peine d'être examiné.
la source
Ma réponse est un peu tardive, mais je viens de trouver cette question, en cherchant du fasp. Au cours de cette recherche, j'ai également trouvé ceci: http://tsunami-udp.sourceforge.net/ , le "Tsunami UDP Protocol".
Depuis leur site Web:
En ce qui concerne la vitesse, la page mentionne ce résultat (en utilisant un lien entre Helsinki, Finlande à Bonn, Allemagne via un lien 1 Go:
Si vous souhaitez utiliser un accélérateur de téléchargement, jetez un œil à lftp, c'est le seul accélérateur de téléchargement qui peut faire un miroir récursif, pour autant que je sache.
la source
L' utilitaire bbcp de la page très pertinente «Comment transférer de grandes quantités de données via le réseau» semble être la solution la plus simple.
la source