tencent cloud

Cloud Virtual Machine

Cara Mencegah Kehilangan Paket PAWS

PDF
Mode fokus
Ukuran font
Terakhir diperbarui: 2025-11-13 17:57:52

Latar Belakang

Parameter tcp_tw_recycle digunakan untuk memulihkan koneksi dalam status TIME-WAIT dengan cepat. Namun, dalam beberapa kasus, parameter ini dapat menyebabkan masalah kehilangan paket PAWS, terutama ketika terdapat NAT (Network Address Translation) di jaringan. Oleh karena itu, umumnya disarankan untuk menonaktifkannya.
Berikut adalah langkah-langkah untuk menonaktifkan tcp_tw_recycle dan mengonfigurasi tcp_tw_bucket.

Langkah-langkah Operasi

Menonaktifkan tcp_tw_recycle

Menonaktifkan sementara

sudo sysctl -w net.ipv4.tcp_tw_recycle=0

Menonaktifkan permanen

1. Edit file /etc/sysctl.conf, tambahkan atau ubah baris berikut:
net.ipv4.tcp_tw_recycle = 0
2. Kemudian terapkan konfigurasi:
sudo sysctl -p

Konfigurasi tcp_tw_bucket

Parameter tcp_tw_bucket digunakan untuk mengatur jumlah bucket koneksi dalam status TIME-WAIT. Meningkatkan nilai ini dapat membantu sistem menangani sejumlah besar koneksi berstatus TIME-WAIT dengan lebih baik.

Konfigurasi sementara

sudo sysctl -w net.ipv4.tcp_max_tw_buckets=4096

Konfigurasi permanen

1. Edit file /etc/sysctl.conf, tambahkan atau ubah baris berikut:
net.ipv4.tcp_max_tw_buckets = 4096
2. Kemudian terapkan konfigurasi:
sudo sysctl -p

Optimalisasi Terkait Lainnya

Selain dua parameter di atas, ada beberapa parameter kernel lain yang dapat membantu mengoptimalkan penanganan koneksi TCP:

Meningkatkan batas deskriptor file

sudo sysctl -w fs.file-max=100000

Meningkatkan jumlah file yang dapat dibuka oleh sistem

Edit file /etc/security/limits.conf , tambahkan atau ubah baris berikut:
* soft nofile 65535
* hard nofile 65535

Meningkatkan jumlah koneksi maksimum yang dapat dibuat oleh sistem

sudo sysctl -w net.core.somaxconn=65535

Meningkatkan panjang antrian koneksi setengah terbuka

sudo sysctl -w net.ipv4.tcp_max_syn_backlog=65535

Mengurangi waktu timeout saat berstatus TIME-WAIT

sudo sysctl -w net.ipv4.tcp_fin_timeout=15

Verifikasi Konfigurasi

Anda dapat menggunakan perintah berikut untuk memverifikasi apakah konfigurasi telah berlaku:
sysctl -a | grep tcp_tw
sysctl -a | grep file-max
sysctl -a | grep somaxconn
sysctl -a | grep tcp_max_syn_backlog
sysctl -a | grep tcp_fin_timeout

Mulai Ulang Layanan

Jika Anda sedang mengoptimalkan layanan tertentu (seperti server Web, database, dll.), disarankan untuk memulai ulang layanan tersebut guna memastikan parameter kernel baru berlaku.

Bantuan dan Dukungan

Apakah halaman ini membantu?

masukan