受け入れキューの長さを監視する方法は?

受け入れキューの長さを監視する方法は?

私は仮説を持っています:時々TCP接続は私のサーバーよりも早く到着しますaccept()。キューがあふれるのを待つと問題が発生します。

このようなことが起こるかどうかを確認するには?

承認キューの長さまたはオーバーフローの数を監視できますか?カウンターが露出していますか?

ベストアンサー1

キューがオーバーフローしていることを確認するには、netstat または 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

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

キューサイズを監視するには、ssコマンドを使用してSYN-RECVソケットを見つけます。

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

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

おすすめ記事