Linux kernel dan distro yang mengemasnya biasanya hanya menyediakan settingan default yang sangat konservatif. Settingan-setingan itu sebenarnya bisa di-oprek baik lewat file system /proc atau menggunakan program sysctl. Cara yang kedua seringkali lebih baik, karena ia hanya membaca isi dari file /etc/sysctl.conf, yang settingannya tak lagi berubah setiap kali reboot.
Berikut ini adalah sebagian dari file /etc/sysctl.conf yang bisa meningkatkan performan jaringan:
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_syncookies = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
Yang diatas itu bukan untuk mengganti apa yang sudah ada di /etc/sysctl.conf, akan tetapi untuk menambahinya. Perintah pertama akan membuat TCP window scaling jadi enable, yang memungkinkan klien men-download data pada kecepatan tertinggi dengan cara menambahkan beberapa bits lagi di paket TCP yang akan digunakan untuk meningkatkan ukuran window.
Perintah kedua meng-enable-kan cookies TCP SYN, yang terkadang sudah ter-enable secara default dan ini sangat efektif untuk mencegah kondisi-kondisi seperti SYN floods (banjir SYN) –yang dapat menghabiskan sumber daya server, yang digunakan untuk memproses koneksi-koneksi yang datang.
Empat perintah terakhir meningkatkan buffer TCP –baik send maupun receive, memungkinkan suatu aplikasi memindahkan data lebih cepat sambil melayani request-request lain. Hal ini juga akan menambah kemampuan klien mengirim data ke server meski server sedang sibuk.
Dengan menambahkan perintah-perintah itu di /etc/sysctl.conf, anda memastikan perintah-perintah itu dipanggil tiap kali reboot. Untuk segera merasakan efeknya tanpa reboot, gunakan;
# sysctl -p /etc/sysctl.conf
Untuk melihat pilihan-pilihan konfigurasi sysctl yang sedang digunakan saat ini, gunakan:
# sysctl -a
Perintah ini akan menampilkan daftar konfigurasi dan nilainya saat sekarang. File sysctl.conf memungkinkan kita meng-konfigurasi dan menyimpan settingan baru; apa yang anda lihat output ini adalah setingan default di dalam kernel yang sedang berlaku. Untuk melihat salah satu nilai, gunakan:
# sysctl -q net.ipv4.tcp_window_scaling
Sama saja, untuk memberi nilai pada satu item tanpa meng-konfigurasi di sysctl.conf –dan agar nilai itu tak akan dipertahankn setelah reboot, gunakan:
# sysctl -w net.ipv4.tcp_window_scaling=1
Perintah ini berguna untuk menge-test keefektifan settingan tertentu tanpa menyimpannya menjadi setingan default.
Translated to Bahasa by me, from: 'Tuning the Linux Kernel For More Aggressive Network Throughput' by VincentDanen June 4, 2007, 8:28 AM PDT
No comments:
Post a Comment