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."