Das sieht im Zusammenhang dieser ein , aber es ist etwas anders.
Es gibt diese WAN-Verbindung zwischen zwei Unternehmensstandorten, und wir müssen eine einzelne sehr große Datei übertragen (Oracle-Dump, ~ 160 GB).
Wir haben die volle Bandbreite von 100 Mbit / s (getestet), aber es sieht so aus, als ob eine einzelne TCP-Verbindung aufgrund der Funktionsweise von TCP (ACKs usw.) nicht ausreichen kann. Wir haben die Verbindung mit iperf getestet , und die Ergebnisse ändern sich dramatisch, wenn die TCP-Fenstergröße erhöht wird: Mit Basiseinstellungen erhalten wir einen Durchsatz von ~ 5 Mbit / s, mit einem größeren WS können wir bis zu ~ 45 Mbit / s erreichen, aber nicht mehr. Die Netzwerklatenz beträgt ca. 10 ms.
Aus Neugier haben wir iperf über mehr als eine einzige Verbindung betrieben und festgestellt, dass sie bei vier Verbindungen tatsächlich eine Geschwindigkeit von jeweils ~ 25 Mbit / s erreichen und damit die gesamte verfügbare Bandbreite ausfüllen. Der Schlüssel scheint also darin zu liegen, mehrere Übertragungen gleichzeitig auszuführen.
Bei FTP wird es noch schlimmer: Selbst bei optimierten TCP-Einstellungen (hohe Fenstergröße, maximale MTU usw.) können wir mit einer einzigen Übertragung nicht mehr als 20 Mbit / s erreichen. Wir haben versucht, einige große Dateien gleichzeitig per FTP zu übertragen. Aber dann wurde der Täter zu Platten-E / A, weil er sehr bald vier große Dateien mit denselben Plattenengpässen liest und schreibt. Außerdem scheinen wir nicht in der Lage zu sein, diese einzelne große Datei in kleinere zu teilen und sie dann wieder zusammenzuführen, zumindest nicht in akzeptablen Zeiten (offensichtlich können wir das Zusammenfügen / Zusammenführen der Datei nicht in einer Zeit aufwenden, die mit der von vergleichbar ist übertragen).
Die ideale Lösung wäre hier ein Multithread-Tool, mit dem verschiedene Teile der Datei gleichzeitig übertragen werden können. Ähnlich wie bei Peer-to-Peer-Programmen wie eMule oder BitTorrent, jedoch von einer einzelnen Quelle zu einem einzelnen Ziel. Im Idealfall können wir mit dem Tool auswählen, wie viele parallele Verbindungen verwendet werden sollen, und natürlich die Datenträger-E / A optimieren, um nicht (zu) verrückt zwischen verschiedenen Abschnitten der Datei zu springen.
Kennt jemand ein solches Tool?
Oder kann jemand eine bessere Lösung vorschlagen und / oder etwas, das wir bereits nicht ausprobiert haben?
PS: Wir haben bereits darüber nachgedacht, diese Daten auf Band / Festplatte zu sichern und sie physisch an das Ziel zu senden. Das wäre unser extremes Maß, wenn WAN es einfach nicht schafft, aber wie AS Tanenbaum sagte: "Unterschätzen Sie niemals die Bandbreite eines Kombis voller Bänder, die die Autobahn entlang rasen."
quelle
Antworten:
Die Suche nach "Dateitransfer mit hoher Latenz" bringt viele interessante Treffer. Dies ist eindeutig ein Problem, mit dem sich sowohl die CompSci-Community als auch die kommerzielle Community befasst haben.
Einige kommerzielle Angebote, die in die Rechnung passen:
FileCatalyst bietet Produkte, die Daten über Netzwerke mit hoher Latenz streamen können, entweder mit UDP oder mit mehreren TCP-Streams. Sie haben auch viele andere Funktionen (schnelle Komprimierung, Delta-Übertragungen usw.).
Die " FASP- Technologie" für den Dateitransfer von Aspera scheint genau das zu sein, wonach Sie suchen.
In der Open-Source-Welt sieht das uftp- Projekt vielversprechend aus. Sie brauchen nicht besonders die Multicast-Funktionen, sondern die Grundidee, eine Datei an Empfänger zu senden, NAKs für verpasste Blöcke am Ende der Übertragung zu empfangen und dann die NAK-Blöcke zu senden (aufschäumen, ausspülen, wiederholen). klingt so, als würde es tun, was Sie brauchen, da der Empfänger erst nach Abschluss der Dateiübertragung ACK'ing (oder NAK'ing) ausführt. Vorausgesetzt, das Netzwerk ist nur latent und nicht verlustbehaftet, kann dies auch das tun, was Sie benötigen.
quelle
Richten Sie einen einfachen Webserver ein, um die Datei in Ihrem Netzwerk zu hosten (ich schlage übrigens Nginx vor), richten Sie dann einen PC mit Firefox am anderen Ende ein und installieren Sie die DownThemAll- Erweiterung.
Es ist ein Download-Beschleuniger, der Chunking und Remontage unterstützt.
Sie können jeden Download in 10 Teile aufteilen, um ihn wieder zusammenzusetzen, und das macht die Sache tatsächlich schneller!
(Warnung: Ich habe es noch nie mit 160 GB versucht, aber es funktioniert gut mit 20 GB-ISO-Dateien)
quelle
Der UDT- Transport ist wahrscheinlich der beliebteste Transport für Kommunikationen mit hoher Latenz. Dies führt zu ihrer anderen Software namens Sector / Sphere, einer "Hochleistungs-Engine für verteiltes Dateisystem und parallele Datenverarbeitung", deren Betrachtung sich lohnen könnte.
quelle
Meine Antwort ist etwas spät, aber ich habe diese Frage gerade gefunden, als ich nach Fasp gesucht habe. Bei dieser Suche habe ich auch folgendes gefunden: http://tsunami-udp.sourceforge.net/ , das "Tsunami UDP Protocol".
Von ihrer Website:
In Bezug auf die Geschwindigkeit wird auf der Seite auf dieses Ergebnis hingewiesen (über eine 1 GBit-Verbindung zwischen Helsinki, Finnland und Bonn, Deutschland:
Wenn Sie einen Download-Beschleuniger verwenden möchten, schauen Sie sich lftp an. Dies ist meines Wissens der einzige Download-Beschleuniger, der einen rekursiven Spiegel ausführen kann.
quelle
Das Dienstprogramm bbcp von der sehr relevanten Seite 'So übertragen Sie große Datenmengen über das Netzwerk' scheint die einfachste Lösung zu sein.
quelle