i-FILTER@Cloud
m-FILTER@Cloud
Deskシリーズ
i-FILTER Ver.9/Ver.10/Reporter
i-FILTER ブラウザー&クラウド
m-FILTER Ver.4/Ver.5
m-FILTER MailAdviser
FinalCode
D-SPA
StartIn
f-FILTER
お知らせ
トラブルシューティングガイド


URLをクリップボードにコピーしました
FAQ_URL:https://www.pa-solution.net/daj/bs/faq/Detail.aspx?id=4066
  FAQ_ID:4066
Business > i-FILTER Ver.9/Ver.10/Reporter > トラブルシューティング
 
「i-FILTER」通信が遅延します。TIME_WAIT、FIN_WAITが多いときカーネルパラメーターのチューニングについて教えてください
対応バージョン: i-FILTER Ver.9 / Ver.10
対応OS: Linux

「i-FILTER」を経由したWebアクセスが遅延したり、上位プロキシ接続タイムアウトが頻発するときは
netstatコマンドを使用して通信状況を確認してください。

[参考] netstat -antpo コマンド結果


※-o オプションを使用することであと何秒で TIME_WAIT、FIN_WAIT 状態が終わるか確認できます。
 例えば、watch -n 1 "netstat -antpo | grep TIME_WAIT" とすると、TIME_WAIT状態になった
 通信が順次消えていくことを観察することができます。


netstatコマンドで確認した結果、TIME_WAIT、FIN_WAIT が多く、時間が経過しても
減少しない場合は以下の観点でパラメーターチューニングを検討してください。

注意!!
本FAQでは過去事例ベースで効果のあったOSパラメーターについて記載しています。
OSの設定になるため、本FAQ記載のパラメーターを変更することによる影響や、本FAQに記載のない
パラメーター変更による効果など、詳細のご案内はいたしかねます。
詳細はOS提供元であるレッドハット社にご確認ください。


__________________
■TIME_WAIT を減らせないか
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

TIME_WAIT の長さはLinux Kernelにハードコードされている(60秒)ため
設定ファイルから変更することはできません。
ただし、以下の対応を行うことで TIME_WAIT の数を減らせる可能性があります。

<対応>
tcp_tw_reuse を有効にしてください。
「i-FILTER」の上位への通信など、外向きの接続(「i-FILTER」からの接続)に限られますが、
TIME_WAIT 状態のソケットでもタイムスタンプが1秒でも新しければ、新しい接続で再利用
できるようになります。
 
net.ipv4.tcp_tw_reuse = 0

net.ipv4.tcp_tw_reuse = 1


__________________
■FIN_WAIT を減らせないか
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

通信先が完全にcloseしていない状態(ハーフクローズ)の場合に、「i-FILTER」側では
FIN_WAIT_2 となります。

<対応>
tcp_fin_timeout を短くしてください。
FIN_WAIT_2 から TIME_WAIT に移行する時間を制御する値であり、
FIN_WAIT_2 の数を減らすことができます。
 
net.ipv4.tcp_fin_timeout = 60

例:
net.ipv4.tcp_fin_timeout = 10


__________________
■ポートが枯渇していないか
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

大量のWebアクセスがあったとき、TCPコネクションの状態が TIME_WAIT でいっぱいになり、
ポートが枯渇してしまうことがあります。

<対応>
ip_local_port_range を広げてください。
 
net.ipv4.ip_local_port_range = 32768 60999

例:
net.ipv4.ip_local_port_range = 16000 65535
「i-FILTER」が使用するポート番号(初期値:15080、15081等)は避けて設定してください
(ポート番号は管理画面[システム / システムパラメーター / 機能設定]で確認できます)


なお、ポート枯渇で問題になるのは、「i-FILTER」サーバーから
他のサーバへ接続するときに使用するポートとなりますので、
クライアント⇒「i-FILTER」の通信は除いてください。

以下のように「i-FILTER」の待ち受けポート番号を除いて接続数を確認してください。

例:
netstat -antp | grep -v :15080 | wc -l


______________________
■ファイルディスクリプタが枯渇していないか
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

OSで設定されているファイルディスクリプタが不足すると、
OS上で動くアプリケーションが不安定になります。

「i-FILTER」は、起動時にファイルディスクリプタの設定値を参照し、
その値が50,000以下に設定されていた場合には50,000に設定しています
(値が50,000以上の場合はそのままその値を使用します。)

設定値は『 cat /proc/<if_proxyのPID>/limits 』でご確認ください。
また、ファイルディスクリプタが不足していないかについては
『 lsof -p <if_proxyのPID> | wc -l 』にてご確認ください。

枯渇していた場合の対応方法など、詳細は FAQ_ID:4051 を参照してください。

 ▽「i-FILTER」通信が遅延します。ファイルディスクリプタ上限値について
  考慮すべき点を教えてください
  https://www.pa-solution.net/daj/bs/faq/Detail.aspx?id=4051
 
「i-FILTER」スレッド数の枯渇で通信の遅延や高負荷が発生した際、どのクライ...
「i-FILTER」通信が遅延します。ファイルディスクリプタ上限値について考慮す...
「i-FILTER」 スレッド数(同時接続数)が不足した場合はどのような動作にな...
「i-FILTER」特定のhttpsサイトが『ページを表示できません』となり閲覧...
「i-FILTER」スレッド数とセッション数の関係について
 

役に立った
役に立たなかった