Ini terlihat terkait dengan ini , tetapi agak berbeda.
Ada tautan WAN ini antara dua situs perusahaan, dan kita perlu mentransfer satu file yang sangat besar (Oracle dump, ~ 160 GB).
Kami memiliki bandwidth 100 Mbps penuh (telah diuji), tetapi sepertinya koneksi TCP tunggal tidak dapat memaksimalkannya karena cara kerja TCP (ACK, dll.). Kami menguji tautan dengan iperf , dan hasilnya berubah secara dramatis ketika meningkatkan Ukuran Jendela TCP: dengan pengaturan basis, kami mendapatkan ~ 5 Mbps throughput, dengan WS yang lebih besar kita bisa mencapai ~ 45 Mbps, tetapi tidak lebih dari itu. Latensi jaringan sekitar 10 ms.
Karena penasaran, kami menjalankan iperf menggunakan lebih dari satu koneksi tunggal, dan kami menemukan bahwa, ketika menjalankan empat dari mereka, mereka memang akan mencapai kecepatan masing-masing ~ 25 Mbps, mengisi semua bandwidth yang tersedia; jadi kuncinya terlihat dalam menjalankan beberapa transfer simultan.
Dengan FTP, segalanya menjadi lebih buruk: bahkan dengan pengaturan TCP yang dioptimalkan (Ukuran Jendela tinggi, MTU maks., Dll.) Kami tidak bisa mendapatkan lebih dari 20 Mbps dalam satu transfer. Kami mencoba melakukan FTP beberapa file besar pada saat yang bersamaan, dan memang segalanya menjadi jauh lebih baik daripada saat mentransfer satu file saja; tetapi kemudian pelakunya menjadi disk I / O, karena membaca dan menulis empat file besar dari bottleneck disk yang sama segera; juga, kami tampaknya tidak dapat membagi satu file besar itu menjadi yang lebih kecil dan kemudian menggabungkannya kembali, setidaknya tidak pada waktu yang dapat diterima (jelas kami tidak dapat menghabiskan penyambungan / penggabungan kembali file waktu yang sebanding dengan dari memindahkannya).
Solusi ideal di sini adalah alat multithreaded yang dapat mentransfer berbagai potongan file secara bersamaan; semacam program peer-to-peer seperti emule atau BitTorrent sudah melakukannya, tetapi dari satu sumber ke satu tujuan. Idealnya, alat ini akan memungkinkan kita untuk memilih berapa banyak koneksi paralel untuk digunakan, dan tentu saja mengoptimalkan disk I / O untuk tidak melompat (terlalu) secara liar di antara berbagai bagian file.
Apakah ada yang tahu alat seperti itu?
Atau, adakah yang bisa menyarankan solusi yang lebih baik dan / atau sesuatu yang sudah kita tidak coba?
PS Kami sudah memikirkan untuk mendukung itu ke tape / disk dan secara fisik mengirimkannya ke tujuan; itu akan menjadi ukuran ekstrem kita jika WAN tidak memotongnya, tetapi, seperti yang dikatakan AS Tanenbaum, "Jangan pernah meremehkan lebar pita sebuah station wagon yang penuh dengan kaset yang meluncur deras di jalan raya."