GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa memantau panjang antrian penerimaan?

Untuk memeriksa apakah antrean Anda meluap, gunakan netstat atau nstat

[centos ~]$ nstat -az | grep -i listen
TcpExtListenOverflows           3518352            0.0
TcpExtListenDrops               3518388            0.0
TcpExtTCPFastOpenListenOverflow 0  0.0

[centos ~]$ netstat -s | grep -i LISTEN
    3518352 times the listen queue of a socket overflowed
    3518388 SYNs to LISTEN sockets dropped

Referensi:https://perfchron.com/2015/12/26/investigating-linux-network-issues-with-netstat-and-nstat/

Untuk memantau ukuran antrean Anda, gunakan perintah ss dan cari soket SYN-RECV.

$ ss -n state syn-recv sport = :80 | wc -l
119

Referensi:https://blog.cloudflare.com/syn-packet-handling-in-the-wild/


Sysdig akan memberikan beberapa informasi ini di akhir setiap accept syscall, sebagai queuelen argumen. Itu juga menunjukkan panjang antrian sebagai queuemax .

7598971 21:05:30.322229280 1 gunicorn (6451) < accept fd=13(<4t>127.0.0.1:45882->127.0.0.1:8003) tuple=127.0.0.1:45882->127.0.0.1:8003 queuepct=0 queuelen=0 queuemax=10

Sejauh yang saya ketahui, tidak ada mekanisme untuk mengetahui dengan tepat kapan atau berapa kali antrian meluap. Dan akan merepotkan untuk mengintegrasikan ini dengan pemantauan berkala oleh collectd atau serupa.


Linux
  1. Bagaimana Cara Mengubah Panjang Baris Default Untuk Od Dan Hexdump?

  2. Bagaimana cara menemukan versi Fedora yang saya gunakan?

  3. Bagaimana saya bisa memantau data pada port serial di Linux?

  1. Bagaimana saya bisa mendapatkan status keyboard di Linux?

  2. Bagaimana saya bisa mengatur 'backend' di matplotlib dengan Python?

  3. Dalam penangan SIGILL, bagaimana saya bisa melewatkan instruksi yang menyinggung?

  1. Bagaimana saya bisa menginstal Anaconda terbaru dengan wget

  2. Bagaimana saya bisa menyembunyikan Bilah Alat di Emacs secara terus-menerus?

  3. Bagaimana saya bisa memantau lalu lintas port serial?