Lompat ke konten utama

Transfer File Lambat Padahal Bandwidth Besar? Ini Penyebabnya

Jalur 100 Mbps tapi copy file cuma dapat 8 Mbps. Biasanya nggak ada yang rusak, cuma ada batas yang nggak ditulis di brosur mana pun.

"Jalur kantor saya 100 Mbps. Copy file dari kantor pusat cuma dapat 8 Mbps. Yang rusak apa?"

Biasanya nggak ada yang rusak. Yang kerja itu batas yang nggak ditulis di brosur mana pun, dan nambah paket internet nggak bakal ngubah apa-apa.

TCP itu berhenti dan nunggu

TCP nggak ngirim data terus-terusan. Dia ngirim sejumlah data, terus berhenti dan nunggu tanda terima sebelum lanjut. Banyaknya data yang boleh melayang tanpa tanda terima itu namanya jendela.

Akibatnya satu koneksi TCP nggak bisa lebih cepat dari:

kecepatan = ukuran jendela / waktu bolak-balik

Jendela 64 KB di latensi 200 ms hasilnya sekitar 2,6 Mbps. Berapa pun bandwidth jalurnya.

Naik dari 100 Mbps ke 1 Gbps nggak ngubah angka itu sedikit pun.

Terus kenapa buka web biasa aja?

Karena web buka banyak koneksi sekaligus, puluhan, buat gambar dan script. Batas per koneksinya tetap, tapi totalnya jadi gede.

Copy file cuma satu koneksi. Di situ batasnya kelihatan telanjang.

Ini juga yang bikin hasil speedtest keliatan penuh padahal copy file merangkak. Speedtest buka banyak koneksi ke server terdekat. Dua-duanya ngukur hal yang beda.

Packet loss 1% itu nggak sepele

TCP nganggep paket hilang sebagai tanda jalur penuh. Dia langsung ngerem drastis, terus naik pelan-pelan.

Di latensi 100 ms, packet loss 1% ngunci satu koneksi di sekitar 1,2 Mbps. Padahal jalurnya 100 Mbps. Turunin ke 0,1%, angkanya naik sekitar tiga kali lipat.

Angkanya kecil, dampaknya gede. Dan packet loss jarang muncul di laporan mana pun kalau nggak dicari.

Cara ngecek punya sendiri

Ping ke tujuan yang beneran dipakai, bukan ke 8.8.8.8, kecuali yang mau dinilai emang jalur ke Google.

ping -n 50 tujuan.example

Masukin angka rata-rata sama persentase loss-nya ke Kalkulator Latensi & Jitter.

Terus masukin bandwidth sama latensinya ke Kalkulator Throughput TCP. Di situ kelihatan batas satu koneksi, jendela minimum yang dibutuhin, sama berapa koneksi paralel yang perlu buat menuhin jalur.

Yang beneran nolong

Perbesar jendelanya. Sistem modern udah ngelakuin sendiri lewat window scaling, tapi ada jaringan yang ngerusaknya, biasanya perangkat tengah yang tua. Kalau kecepatan mentok persis di angka jendela 64 KB, itu tersangka pertama.

Atau buka beberapa koneksi sekaligus. Ini yang dipakai tool transfer modern, dan alasan satu download dengan delapan koneksi jauh lebih cepat.

Atau perpendek jaraknya. Buat pengguna di Indonesia, server Jakarta hampir selalu ngalahin Singapura.

Kalau semua angkanya udah wajar tapi tetap lambat, tersangka berikutnya MTU. Ada di Ping jalan tapi situs besar menggantung.

Baca juga

Semua artikel