Cara Mengoptimalkan Kecepatan Internet Ubuntu dengan Pengaturan MTU
Sementara teks-teks komputer berbeda dalam aplikasi mereka dari istilah, Ubuntu menggunakan Unit Transmisi Maksimum TCP (MTU) untuk merujuk ke ukuran terbesar paket TCP mesin dapat melewati koneksi jaringan TCP / IP. Sementara menghitung nilai ini relatif sederhana dan default bekerja pada mayoritas mesin, mungkin mungkin untuk lebih mengoptimalkan sistem Anda jika paket terpecah karena pengaturan yang tidak biasa. Mengirim paket keluar tunggal yang besar lebih efisien daripada mengirim beberapa yang keluar lebih kecil.
Cara termudah untuk mengetahui nilai MTU yang benar untuk mesin Anda adalah membuka jendela terminal. Tahan CTRL, ATL dan T atau mungkin memulainya dari dasbor Unity. Jika Anda bekerja dengan Ubuntu Server, maka Anda akan default ke antarmuka CLI tanpa lingkungan grafis sama sekali. Setelah Anda berada di terminal, ketik ping -s 1464 -c1 distrowatch.com dan tunggu hasilnya. Jika Anda tidak menerima apa pun, koneksi jaringan Anda belum dikonfigurasikan dengan benar. Dengan asumsi Anda menerima output yang tepat, kemudian cari bagian yang membaca 1464 (1492) byte data, yang menunjukkan Anda mengirim paket dengan 28 byte informasi header.
Metode 1: Memeriksa ping Output untuk Paket Fragmentasi
Perintah ping akan memberi tahu Anda jika paket dikirim sebagai lebih dari satu fragmen dengan beberapa data header terlampir. Periksa output untuk setiap baris yang memperingatkan tentang sesuatu mengenai Frag diperlukan dan DF set (mtu = 1492) atau teks serupa. Tergantung pada versi ping mana yang disertakan dengan versi Ubuntu Anda, peringatan tersebut dapat di-word berbeda. Jika teks ini tidak ada, maka kemungkinan besar Anda sudah bekerja dengan beberapa pengukuran MTU yang tidak mengirimkan paket terfragmentasi pada saat ini.
Untuk menemukan MTU yang paling optimal untuk sistem Anda, Anda harus menjalankan perintah ping ini dengan ukuran paket yang kecil, dan kemudian meningkatkannya hingga ia mulai terpecah setelah Anda menganggap ini sebagai titik cutoff Anda. Perlu diingat bahwa MTU = muatan + 28, karena perlu ada ruang untuk data header. Sekarang, jika Anda dapat memperbesar ukuran menjadi sesuatu yang sangat besar tanpa fragmen apa pun, antarmuka jaringan Anda mungkin dapat menangani paket besar tanpa perlu membuat fragmen. Ketika Anda akhirnya melihat peringatan Frag diperlukan, ini berarti bahwa setiap paket yang dikirim dengan payload ukuran Anda berlari atau lebih tinggi akan mengirim sebagai beberapa paket. Asumsikan bahwa jika Anda mencoba ping -s 2464 -c1 distrowatch.com tanpa peringatan apa pun, tetapi ping-s 2465-c1 distrowatch.com mengirim peringatan, ini berarti bahwa 2, 464 + 28 adalah pengaturan MTU terbesar yang dapat ditangani oleh konfigurasi TCP / IP Anda sebelum mengirim beberapa paket yang terfragmentasi. Diperlukan beberapa saat untuk menentukan nilai pasti.
Setelah Anda memiliki nilai dalam pikiran dari menjalankan perintah ping beberapa kali, Anda harus menjalankan sudo ifconfig untuk menemukan daftar antarmuka jaringan yang dikenal. Ubuntu dan turunannya memiliki akun root, tetapi kami beroperasi dari shell yang dibuat oleh sudo bash untuk contoh kami. Sebaiknya Anda lebih memilih pengantar setiap perintah dengan sudo satu per satu.
Segera setelah Anda mengetahui perangkat yang benar, coba:
sudo ifconfig interfaceName mtu ####
Ganti antarmukaName dengan nama adapter jaringan yang Anda gunakan, lalu ganti #### dengan ukuran yang Anda temukan plus 28 untuk informasi header. Anda dapat menjalankan ifconfig untuk melihat apa default MTU untuk NIC Anda dan menjalankannya beberapa kali untuk melihat apakah perintah sebelumnya mengubahnya. Beberapa adapter antarmuka jaringan tidak akan membiarkan Anda mengubahnya. Jika itu yang terjadi, maka optimasi lebih lanjut akan sia-sia sayangnya. Namun, jika ini berhasil, Anda benar-benar dapat membuatnya permanen. Coba jalankan ifconfig | grep MTU untuk menemukan semua nilai jika Anda memiliki beberapa konektor, dan kemudian Anda dapat mencocokkan nilai ke konektor yang Anda gunakan.
Metode 2: Membuat Stick MTU Optimasi
Sejauh ini Anda tidak membuat perubahan permanen pada sistem Anda. Jika Anda reboot, maka Anda akan menghapus semua perubahan, yang bagus jika Anda membuat semacam kesalahan dan menemukan bahwa Anda tidak dapat terhubung ke Internet lebih lama lagi. Di sisi lain, jika Anda telah menemukan nilai akurat untuk MTU Anda, maka Anda harus mengedit dokumen. Ini mungkin saat yang tepat untuk membuat salinannya jika terjadi sesuatu. Mencoba atau sesuatu yang mirip sehingga Anda memiliki salinan untuk jaga-jaga. Jika Anda ingin mengeditnya secara grafis, lalu ketik dan masukkan kata sandi Anda. Jika Anda menggunakan Kubuntu, Xubuntu atau Lubuntu, maka Anda harus mengganti gedit dengan editor teks grafis yang digunakan oleh respin Ubuntu. Xubuntu, misalnya, menggunakan mousepad sebagai ganti gedit. Jika Anda menggunakan Ubuntu Server atau hanya lebih suka bekerja dengan baris perintah, maka sebagai gantinya ketik , dengan asumsi Anda tidak menggunakan shell root.
Terlepas dari metode mana yang Anda gunakan untuk mengeditnya, temukan nama antarmuka ifconfig yang dimuntahkan sebelumnya. Anggap saja Anda melihat konektor Wifi pertama di komputer Anda, yang mungkin akan diberi nama wlan0 atau yang serupa. Dalam hal ini, cari potongan kode yang dimulai dengan iface wlan0 inet statis atau yang serupa. Jarak tempuh Anda mungkin bervariasi, tetapi baris berikutnya akan membaca alamat diikuti dengan alamat IP dalam format ###. ###. #. ##. Ini mungkin diformat berbeda jika Anda berada di koneksi IPv6 asli. Anda akan memiliki netmask dan jalur gateway, diikuti oleh sesuatu yang mencantumkan nama host atau yang serupa. Di bagian bawah, Anda akan memiliki baris lain yang berbunyi mtu dan angka. Ganti angka itu dengan nilai MTU yang optimal, simpan dokumen dan kemudian keluar dari editor teks. Anda akan ingin mem-boot ulang sistem untuk memastikannya berfungsi.
Jika semuanya baik-baik saja setelah beberapa reboot, kemudian hapus file interfaces.bak di direktori ~ / Dokumen Anda. Anda malah bisa menggunakan sudo mv lalu
jika ada yang serba salah dalam prosesnya.
TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di SiniMetode 3: Mengedit Pengaturan TCP Receive Window (RWIN)
Ubuntu mengacu pada jumlah data terbesar yang diterima oleh host sebelum mengakui pengirim sebagai nilai RWIN. Jika Anda mengunduh file 30 MB, maka server jauh tidak benar-benar segera mengirimkan blok data 30 MB. Host Ubuntu Anda mengirimkan nomor RWIN tertentu ketika meminta file, dan kemudian server mulai mengalirkan data hingga mencapai jumlah byte sebelum menunggu pengakuan bahwa sistem Anda mendapatkan datanya. Setelah server menerima ini, ia mulai mengirim blok tambahan sebelum menunggu pengakuan lain.
Latency adalah waktu yang diperlukan untuk mengirim dan menerima paket dari server jauh. Tingkat koneksi berkontribusi pada nilai ini, tetapi begitu juga banyak penundaan lainnya. Perintah ping akan menjelaskan latensi dalam hal waktu round-trip time (RTT). Lihatlah output dari ping DistroWatch sebelumnya. Anda akan menemukan garis yang membaca waktu = 134 ms, yang merupakan waktu yang diperlukan untuk paket untuk melakukan perjalanan pulang pergi dari mesin Ubuntu kami ke distrowatch.com dan kembali lagi. Kami mengirim paket 1, 492-byte, jadi pada 134 ms kami bisa menghitung rumus untuk menemukan total kecepatan transfer:
1, 492 / .134 detik = 11, 134.328 byte / detik, yang keluar sekitar 10.88 kiloby biner per detik. Itu agak lambat secara keseluruhan, itulah mengapa RWIN di tempat untuk membuat Anda dari harus mengakui setiap paket yang dikirim secara individual.
Pengaturan RWIN di Ubuntu terpisah dari pengaturan MTU. Hitung Produk Penundaan Bandwidth (BDP) untuk koneksi Internet Anda dengan rumus ini:
(Total bandwidth maksimum yang harus disediakan koneksi Internet Anda dalam Bytes per Second) (RTT dalam Detik) = BDP
Ukuran paket TCP tidak mempengaruhi RWIN, tetapi ukuran paket itu sendiri dipengaruhi oleh nilai yang dipilih dalam Metode 1. Gunakan perintah ini untuk menemukan variabel kernel yang terkait dengan RWIN:
Harap diingat bahwa ada spasi setelah _mem, tetapi tidak ada di tempat lain dalam teks yang dikutip. Anda akan mendapatkan beberapa nilai kembali. Yang dibutuhkan adalah net.ipv4.tcp_rmem, net.ipv4.tcp_wmem dan net.ipv4.tcp_mem . Angka-angka setelah nilai-nilai ini mewakili minimum, nilai standar dan maksimum untuk masing-masing. Mereka mewakili menerima vektor memori jendela, mengirim vektor dan vektor TCP stack. Jika Anda menjalankan Ubuntu Kylin, maka Anda mungkin memiliki daftar panjang yang tambahan. Anda dapat dengan aman mengabaikan semua nilai tambahan ini. Beberapa pengguna Kylin mungkin juga melihat beberapa nilai yang digambarkan dalam skrip lain, tetapi sekali lagi hanya mencari garis-garis ini.
Ubuntu tidak memiliki variabel RWIN, tetapi net.ipv4.tcp_rmem sudah dekat. Variabel-variabel ini mengontrol penggunaan memori dan bukan hanya ukuran TCP. Mereka termasuk memori dimakan oleh struktur soket data dan paket-paket pendek di buffer besar. Jika Anda ingin mengoptimalkan nilai-nilai ini, maka kirim paket ukuran maksimum yang Anda tetapkan dalam Metode 1 ke server jauh lainnya. Mari gunakan default 1, 492-byte lagi, kurangi 28 byte untuk informasi header, tetapi ingat bahwa Anda mungkin memiliki nilai yang berbeda. Gunakan perintah ping -s 1464 -c5 distrowatch.com untuk mendapatkan data RTT tambahan.
Anda akan ingin menjalankan tes ini lebih dari sekali pada waktu yang berbeda pada siang dan malam hari. Coba ping beberapa server jarak jauh lainnya untuk melihat berapa banyak RTT yang bervariasi. Karena kami memiliki rata-rata sedikit lebih dari 130 md setiap kali kami mencobanya, kami dapat menggunakan rumus untuk mengetahui BDP kami. Anggap saja Anda menggunakan koneksi 6 Mbit / detik yang sangat umum. BDP adalah:
(6.000.000 bit / detik) (133 detik) * (1 byte / 8 bit) = 99.750 byte
Ini berarti nilai default net.ipv4.tcp_rmem harus sekitar 100.000. Anda dapat mengaturnya lebih tinggi jika Anda takut bahwa Anda akan mendapatkan RTT separah setengah detik. Semua nilai yang ditemukan di net.ipv4.tcp_rmem dan net.ipv4.tcp_wmem harus diatur secara identik, karena transmisi dan penerimaan paket terjadi melalui koneksi Internet yang sama. Anda biasanya ingin menetapkan net.ipv4.tcp_mem ke nilai yang sama yang digunakan oleh net.ipv4.tcp_wmem dan net.ipv4.tcp_rmem karena variabel pertama ini adalah ukuran buffer memori terbesar yang disetel untuk transaksi TCP.
Terbitkan perintah dan lihat apakah kedua pengaturan ini diatur ke 0 atau 1, yang menunjukkan status mati atau hidup.
Pengaturan net.ipv4.tcp_no_metrics_save ke 1 akan memaksa kernel Linux untuk mengoptimalkan jendela penerimaan antara nilai net.ipv4.tcp_rmem dan net.ipv4.tcp_wmem dalam mode dinamis. Ketika net.ipv4.tcp_moderate_rcvbuf diaktifkan, ini mencegah kemacetan dari mempengaruhi konektivitas berikutnya. Sebelum membuat perubahan permanen, lakukan pemeriksaan kecepatan melalui http://www.speedtest.net atau http://www.bing.com/search?q=speed+test untuk memastikan Anda memiliki pegangan pada pengukuran Anda.
Ubah sementara variabel dengan nilai yang dihitung. Pastikan untuk mengganti #s dengan jumlah yang dihitung.
sudo sysctl -w net.ipv4.tcp_rmem = #### ##### ###### net.ipv4.tcp_wmem = ######### ###### net.ipv4. tcp_mem = #### ##### ###### net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_moderate_rcvbuf = 1
Uji ulang koneksi Anda untuk melihat apakah kecepatan telah membaik, dan jika tidak mengubah perintah Anda lagi dan jalankan kembali. Ingat bahwa Anda dapat menekan tombol ke atas di terminal Anda untuk mengulangi perintah yang terakhir digunakan. Setelah Anda menemukan nilai yang sesuai, buka dengan perintah gksu atau sudo text editor dari Metode 1, dan edit baris untuk dibaca sebagai berikut, sekali lagi menggantikan #s dengan nilai yang Anda hitung. Anda tentu saja ingin juga membuat cadangan file dengan cara yang sama yang Anda lakukan di bagian satu kalau-kalau Anda membuat kesalahan. Jika Anda sudah membuatnya, Anda juga dapat mengembalikan dengan cara yang sama.
net.ipv4.tcp_rmem = ###############
net.ipv4.tcp_wmem = ###############
net.ipv4.tcp_mem = ###############
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
Simpan setelah Anda yakin semuanya baik-baik saja. Berikan perintah berikut:
sudo sysctl -p
Ini akan memaksa kernel Linux untuk memuat ulang pengaturan , dan jika semua berjalan dengan baik maka seharusnya memberi Anda setidaknya koneksi jaringan yang agak lebih cepat. Tergantung pada standar asli Anda, perbedaannya mungkin benar-benar dramatis atau berpotensi tidak terlihat sama sekali.
TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini