web-dev-qa-db-ja.com

somaxconnにどれだけ近づいているかを確認するにはどうすればよいですか?

Sysctlオプションnet.core.somaxconnのデフォルトは128(私たちのシステムでは)ですが、上げることができます。

  1. この制限は正確に何を測定し、上限を定めていますか?

  2. 自分が限界にどれだけ近いかを知るにはどうすればよいですか?

コンテキスト:私は最近、この制限を引き上げることによって修正されるように見える問題を抱えていました。問題は断続的だったので、本当に修正されたとは思えません。現在の[この設定の上限]の数が、以前の上限である128を超えているかどうかを確認したいと思います。

19
Andrew

somaxconnは、各システムで許可されるバックログ接続の最大数を決定しますTCPシステム上のポート。これを増やすと(サーバーに推奨)、「接続拒否」メッセージを防ぐことができますが、遅い接続では、サーバーが増加した負荷を処理できない場合。

このページ に従って、_netstat -ant | grep -c SYN_REC_で現在のバックログを確認できます。 「SYN受信」状態にある接続の数をカウントします。つまり、システムはSYNパケット(接続要求)を受信しましたが、まだ確認していません。

システムにssがインストールされている場合は、_ss -s_を使用して接続の概要を表示することもできます。出力でsynrecvを探すか、数値を出力するだけのss -s | grep -Po '(?<=synrecv )\d+(?=,)'を探します。

20
miken32