Bagaimana saya tahu seberapa dekat saya dengan somaxconn?

17

Opsi sysctl net.core.somaxconndefault ke 128 (pada sistem kami) tetapi dapat dinaikkan.

  1. Apa sebenarnya yang diukur dan dibatasi batas ini?

  2. Bagaimana saya mengetahui seberapa dekat saya dengan batas?

Konteks: Saya punya masalah baru-baru ini yang tampaknya diperbaiki dengan menaikkan batas ini. Masalahnya berselang, jadi saya tidak percaya itu benar-benar diperbaiki. Saya ingin mengetahui apakah jumlah saat ini [apa pun yang ditetapkan pengaturan ini] lebih besar dari batas maksimum sebelumnya yaitu 128.

Andrew
sumber

Jawaban:

18

somaxconnmenentukan jumlah maksimum koneksi backlog yang diizinkan untuk setiap port TCP pada sistem. Menambahnya (disarankan untuk server) dapat mencegah pesan "koneksi ditolak", tetapi dapat mengakibatkan koneksi lambat jika server tidak dapat menangani peningkatan beban.

Anda dapat memeriksa backlog saat ini netstat -ant | grep -c SYN_RECsesuai dengan halaman ini . Ini akan menghitung berapa banyak koneksi dalam keadaan "SYN diterima", artinya sistem telah menerima paket SYN (permintaan koneksi) tetapi belum mengakuinya.

Jika sistem Anda telah ssdiinstal, Anda juga dapat menggunakan ss -suntuk menampilkan ringkasan koneksi. Cari synrecvdi output, atau ss -s | grep -Po '(?<=synrecv )\d+(?=,)'hanya mencetak nomor.

miken32
sumber