Linuxで実行しているマシンで、SOAPキープアライブ設定を使用するWebサービスを使用しています。ここでTCPキープアライブを変更すると、 Linuxで「/ proc/sys/net/ipv4/tcp_keepalive_time」を設定して値をタイムアウトします。これは、このLinuxボックスで実行されているTCPクライアントとサーバーの両方に影響しますか?
追加情報:私たちは、Apache karaf(servicemix)にデプロイされたApache camel-cxfエンドポイントを使用して、消費者SOAPベースのWebサービスを公開します。
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)