Membuka folder bersama lewat VPN dan menunggu daftar direktori merayap adalah pengalaman yang akrab, dan naluri pertama adalah menyalahkan bandwidth. Biasanya tautan hampir menganggur. Protokol menghabiskan waktunya menunggu balasan, dan setiap penantian memakan satu perjalanan pulang-pergi penuh yang tidak pernah ditagih LAN. Perbaiki bentuk pekerjaannya, dan berbagi file kembali bisa dipakai.

Salinan kerja jarak jauh bentuknya salah

SMB membuka file, membaca metadata, dan mengonfirmasi dalam banyak pertukaran kecil. Salinan kerja kontrol versi pada drive yang dipetakan mengasumsikan latensi sistem file lokal dan membaca banyak file kecil. Basis data desktop menarik halaman saat pengguna bekerja. Masing-masing mengubah keterlambatan menjadi pengali, karena biayanya tumbuh seiring berapa banyak pertukaran yang dilakukan operasi; karena itu terowongan 40 ms mengubah beberapa ratus operasi menjadi beberapa detik. Ukuran muatan hampir tidak relevan dalam hitungan itu.

Beban enkripsi hanyalah bagian kecilnya; kehilangan lebih buruk, karena satu transmisi ulang plus jendela kongesti yang runtuh jauh lebih mahal daripada byte yang terlibat.

Hitung perjalanan pulang-pergi sebelum megabyte

Ukur keterlambatan sebelum membeli kapasitas. Satu ping memberi tahu apa yang dibayar setiap pertukaran.

ping -c 10 fileserver.example.net

Ringkasan memberi waktu pulang-pergi minimum, rata-rata, dan maksimum, dan sebarannya sama pentingnya dengan rata-rata. Kalikan rata-rata dengan jumlah pertukaran yang dilakukan daftar direktori, lalu bandingkan dengan waktu yang benar-benar Anda amati. Jika satu file besar terkirim cepat sementara penelusuran lambat, hambatannya adalah latensi dan jumlah permintaan. Menambah sepuluh kali kapasitas pada tautan yang tidak pernah jenuh sama sekali tidak mengubah apa pun.

Pindahkan pekerjaannya, bukan byte-nya

Ubah di mana pekerjaan terjadi alih-alih membayar pipa lebih lebar. Layani repositori alih-alih memasangnya, dan salin secara massal dengan alat yang hanya mengirim perbedaan.

rsync -av --info=progress2 ./project/ [email protected]:/srv/share/project/

Melayani repositori, seperti yang dilakukan hgweb atau Git jarak jauh, memungkinkan klien bekerja pada klon lokal sehingga panggilan sistem filenya tidak pernah menyeberangi terowongan. rsync menelusuri kedua sisi dan mengirim blok yang berubah, menghapus sebagian besar pertukaran yang dibayar salinan naif. Basis data desktop semestinya ada di mesin sisi server dengan klien direduksi menjadi antarmuka, atau seluruh klien berjalan di host internal. Setiap opsi mengubah seberapa besar latensi yang dihadapi protokol, dan itulah intinya.

Macet pada ukuran yang sama adalah gejala MTU

Transfer besar yang berhenti setelah kira-kira jumlah data yang sama, sementara ping dan halaman kecil berfungsi, menunjuk pada ukuran paket, bukan bandwidth.

ping -M do -s 1400 -c 3 fileserver.example.net

Uji yang berhasil berarti paket IP 1428 byte melewati jalur tanpa fragmentasi, karena header ICMP dan IP menambah 28 byte. Kegagalan dengan tanda larangan fragmentasi menunjukkan MTU terowongan yang bisa dipakai lebih kecil daripada anggapan server. Server yang mengirim buffer 9000 byte ke jalur 1500 byte memaksa fragmentasi atau penurunan, dan penemuan MTU jalur bisa gagal diam-diam saat ICMP difilter. Turunkan MTU terowongan, aktifkan mssfix di OpenVPN, atau kecilkan buffer server, lalu jalankan ulang transfer yang sama untuk memastikan.

Ukur celah yang penting

Jalankan operasi yang sama dengan tiga cara di mana kebijakan mengizinkan: lokal, lewat terowongan, dan lewat jalur internet langsung. Untuk masing-masing, catat waktu pulang-pergi, laju satu aliran besar, dan berapa lama daftar direktori atau pembukaan aplikasi. Membandingkan jalur lokal dengan jalur terowongan menunjukkan biaya mana yang dominan. Salinan yang selesai lambat menunjukkan masalah laju atau keterlambatan, sedangkan salinan yang mati di titik yang konsisten menunjukkan ukuran paket atau perangkat stateful di jalur.

Saat hanya megabyte pertama yang terseret, lihat autentikasi dan metadata; saat semuanya merayap, lihat kapasitas dan kehilangan. Perbaiki penyebab yang cocok, dan berhenti berharap tautan WAN berperilaku seperti kabel LAN.

Artikel terkait