web-dev-qa-db-ja.com

Linuxでは、「/ proc / sys / net / ipv4 / tcp_keepalive_time」はクライアントとサーバーの両方に影響しますか?

Linuxで実行しているマシンで、SOAPキープアライブ設定を使用するWebサービスを使用しています。ここでTCPキープアライブを変更すると、 Linuxで「/ proc/sys/net/ipv4/tcp_keepalive_time」を設定して値をタイムアウトします。これは、このLinuxボックスで実行されているTCPクライアントとサーバーの両方に影響しますか?

追加情報:私たちは、Apache karaf(servicemix)にデプロイされたApache camel-cxfエンドポイントを使用して、消費者SOAPベースのWebサービスを公開します。

5
Sanvijaya

Linuxカーネルの組み込みサポートTCPキープアライブはall keepalive-enabled TCPソケットに影響します。

ただし、TCPキープアライブはデフォルトでは有効になっていません。アプリケーションは、setsockoptインターフェイスを使用して、ソケットのキープアライブ制御を明示的に要求する必要があります。

特定のソケットでキープアライブが有効になっているかどうかを確認するには、netstatコマンドを-o, --timersオプション:

ここでは、同じプロセスが両方のモードで異なるネットワークソケットを開くことができることがわかります。

# netstat -anpo | grep 8999
tcp        0      0 10.10.171.44:48744         10.10.139.30:8999          ESTABLISHED 18232/Java          keepalive (83.39/0/0)

# netstat -anpo | grep 8009
tcp        0      0 10.10.171.44:8009          10.10.171.42:40947         ESTABLISHED 18232/Java          off (0.00/0/0)
12
MariusPontmercy