Meningkatkan kecepatan transfer file besar melalui tautan latensi tinggi

8

Jadi, saya baru-baru ini perlu menarik file besar melalui internet dari salah satu kantor kami di luar negeri. Kedua kantor memiliki 50Mbit link serat di kedua arah, tetapi waktu pulang-pergi sangat menghebohkan dan bervariasi dari mungkin 450ms pada hari baik dan 750ms pada omong kosong.

Awalnya, saya mencoba menarik file melalui koneksi VPN tetapi setelah beberapa transfer gagal (seseorang benar-benar mengisap link lambat) dan kecepatan maxing sekitar 128kBps, sebuah google cepat menunjukkan bahwa saya berlari melawan masalah penskalaan jendela TCP.

Sejak itu saya mendorong file melalui layanan private-cloud type komersial yang membuat file di sini lebih cepat, jadi yang berikut ini lebih karena rasa ingin tahu daripada yang lainnya.

Ditambahkan ke kesenangan, adalah bahwa akses internet di kedua ujungnya adalah melalui proksi http. Namun saya memiliki hak admin pada mesin di kedua ujungnya.

Bagaimana cara Anda mendapatkan kecepatan yang lebih baik?

Hal yang sudah saya coba:

1) SFTP biasa antara dua mesin virtual linux, menggunakan pembuka botol untuk mengeluarkan melalui proxy http dan perantara ketiga untuk menghubungkan kedua ujungnya menjadi satu. Kecepatan yang dicapai: sekitar 600kBps.

2) SFTP tetapi menggunakan OpenSSH yang ditambal dengan HPN-SSH. Corkscrew dan konfigurasi perantara sama dengan 1). Sedikit jika ada peningkatan kecepatan.

3) Per 2 tetapi menggunakan LFTP dengan pget -c -n 10untuk memecah transfer menjadi potongan-potongan. Ini adalah yang terbaik sejauh ini, melihat 3.5MBps ...

Semua perbaikan diterima.

Ingo
sumber
pertanyaan terkait stackoverflow.com/q/38014501/52074
Trevor Boyd Smith

Jawaban:

4

Saat ini, saya menangani transfer melalui sambungan jarak jauh dan latensi lebih tinggi dengan membungkus rsync melalui UDP, menggunakan UDR sebagai transportasi. UDR menggunakan UDT , yang digambarkan sebagai:

UDT adalah protokol transport data level aplikasi berbasis UDP yang andal untuk aplikasi intensif data terdistribusi melalui jaringan luas berkecepatan tinggi. UDT menggunakan UDP untuk mentransfer data massal dengan kontrol keandalannya sendiri dan mekanisme kontrol kemacetan. Protokol baru dapat mentransfer data pada kecepatan yang jauh lebih tinggi daripada TCP. UDT juga merupakan kerangka kerja yang sangat dapat dikonfigurasi yang dapat mengakomodasi berbagai algoritma kontrol kemacetan.

Ini menonaktifkan enkripsi secara default, yang merupakan hal utama yang saya butuhkan ketika saya menambal HPN-SSH , tetapi pendekatan UDP telah membantu sedikit. Manfaat utama dari solusi UDR / UDP adalah fungsionalitas perintah tidak banyak berubah. Anda berakhir dengan menambahkan perintah rsync dengan udr.

udr rsync -avP --stats --delete --inplace /data/ mir1:/data/

Lihat juga: Kemungkinan Pengoptimalan WAN untuk lalu lintas SSH

putih
sumber
3

Saya memiliki masalah yang sama di $ lastjob.

Tetap murni dalam infrastruktur saya sendiri, saya tidak pernah menemukan solusi yang lebih baik daripada LFTP.

Jika Anda dapat membenarkan biaya, Anda bisa mendapatkan peralatan yang melakukan akselerasi WAN. Pada dasarnya mereka secara transparan mengubah permintaan Anda menjadi potongan yang jauh lebih besar, sehingga sangat mengurangi obrolan antara 2 situs. Riverbed mungkin adalah opsi paling terkenal di sana, tetapi IIRC juga ada modul untuk router Juniper untuk melakukannya. Saya tidak tahu opsi FLOSS saat ini.

Sebenarnya saya menemukan opsi terbaik adalah Dropbox et al, tetapi itu mungkin tidak dapat diterima untuk Anda.

chriscowley
sumber