Topik ini menjelaskan penyebab dan solusi untuk masalah berikut: Banyak pesan kesalahan "TCP: time wait bucket table overflow" muncul di file /var/log/messages pada instance Elastic Compute Service (ECS) Linux.
Deskripsi Masalah
Banyak pesan kesalahan "TCP: time wait bucket table overflow" muncul di file /var/log/messages pada instance ECS Linux.
Penyebab
Sejumlah besar koneksi TCP memasuki keadaan TIME-WAIT pada instance ECS, melebihi batas atas yang ditentukan oleh parameter kernel net.ipv4.tcp_max_tw_buckets (atau tcp_max_tw_buckets).
tcp_max_tw_buckets: menunjukkan jumlah maksimum soket TCP yang didukung dalam keadaan TIME_WAIT. Jika jumlah maksimum terlampaui, sistem akan menghentikan soket berlebih dalam keadaan TIME_WAIT dan menghasilkan pesan kesalahan "TCP: time wait bucket table overflow".
net.ipv4.tcp_max_tw_buckets: memiliki fungsi yang sama dengan parameter tcp_max_tw_buckets dan digunakan untuk melindungi dari serangan DDoS sederhana. Jangan kurangi nilai parameter ini kecuali bisnis Anda memerlukan nilai yang lebih kecil. Jika Anda memerlukan nilai yang lebih besar dari nilai default berdasarkan kondisi jaringan Anda, tingkatkan nilai parameter net.ipv4.tcp_max_tw_buckets atau ukuran memori.
Solusi
Untuk menyelesaikan masalah ini, tingkatkan nilai parameter net.ipv4.tcp_max_tw_buckets.
Hubungkan ke instance ECS Linux.
Untuk informasi lebih lanjut, lihat Ikhtisar metode koneksi.
Ubah nilai parameter
net.ipv4.tcp_max_tw_buckets.Jalankan perintah berikut untuk membuka file
sysctl.conf:vim /etc/sysctl.confTekan tombol
Iuntuk masuk ke mode Sisipkan.Tingkatkan nilai parameter
net.ipv4.tcp_max_tw_bucketssesuai dengan kebutuhan bisnis Anda.Dalam contoh ini, ubah nilai parameter
net.ipv4.tcp_max_tw_bucketsmenjadi 20000.net.ipv4.tcp_max_tw_buckets = 20000Tekan tombol
Esc, masukkan:wq, lalu tekan tombol Enter untuk menyimpan dan keluar dari file.Jalankan perintah berikut untuk membuat perubahan diterapkan:
sysctl -p
Jalankan perintah berikut untuk menanyakan statistik koneksi:
netstat -an | grep 80 | awk '{print $6}' | sort | uniq -c | sort -rn