ISWMでは、管理画面の[サーバ管理] > [サーバ設定] > (サーバを選択) > [フィルタリングサービス設定]で、HTTP/HTTPS/FTP over HTTPに対するプロセス数を設定可能です。
プロセス数の増加にあたり、あわせて以下の設定の増加もご検討ください。
ご注意:
”HTTP"、"HTTPS"、"FTP OVER HTTP"で共通のポート番号を設定している場合は、これら3プロトコルの合計プロセス数が、 3プロトコル共通で使用されることになります。
1. フィルタリングサービスの最大ヒープサイズ
フィルタリングサービスが使用する最大ヒープサイズは、管理画面の以下から設定可能です。
[サーバ管理] > [サーバ設定] > (サーバを選択) > [フィルタリングサービス共通設定]の"最大ヒープサイズ"
「HTTP/HTTPS/FTP OVER HTTPのプロセス数の合計が1000増加する毎に、256MB増加いただく」のが目安となります。
例えば、合計10000となる場合は、10000 x 256MB = 2560 MBとなります。
2. OSのメモリサイズ
フィルタリングサービスは、目安として以下のメモリを消費します。
そのため、以下の値以上の空きメモリがあることをご確認いただき、必要に応じてメモリの増強をご検討ください。
最大ヒープサイズ + (0.96MB + 設定MAX_HEADER_SIZEの値(デフォルト:102400B) x 2) x "HTTP/HTTPS/FTP OVER HTTPのプロセス数の合計"
例えば、プロセス数の合計が10000で最大ヒープサイズが2560MBの場合、約13GB以上のメモリが必要となります。
2560MB + (0.96MB + 102400B x 2) x 10000 = 約13GB
※設定MAX_HEADER_SIZEは、設定ファイル"<インストールディレクトリ>/conf/sys/system.inf"の設定です。
3. フィルタリングサービスのバックログ
フィルタリングサービスのLISTENポートに対する「TCP接続リクエストの最大待機数」(デフォルト:128)です。
プロセス数をデフォルト値から増加する場合、予め300まで増加させておくことをご検討ください。
一方、ポート番号に対する合計プロセス数が10000付近に到達すると、ご利用の環境によってはバックログ不足に伴うTCP接続失敗が発生しやすくなる可能性があります。
この場合のバックログ値の具体的な目安につきましては特にございません。
バックログ値を512, 1024, 2048...と必要に応じて徐々に増加させて様子を見ていただきますようお願いします。
バックログ値は、設定ファイル"<インストールディレクトリ>/conf/proxy.inf"の設定"BACKLOG"にて設定いたします。
バックログの変更後は、反映のためにフィルタリングサービスの再起動が必要です。
3.1 Linux版におけるご注意
Linux版をご利用の場合、Linuxの仕様で/etc/sysctl.confのパラメータ"net.core.somaxconn(デフォルト:128)"以上のバックログ値を設定することができません。
現在値は"sysctl net.core.somaxconn"コマンドで確認可能です。
ISWMで設定予定のバックログ値に合わせ、予めnet.core.somaxconnの増加をお願いします。
1. ISWMのLinuxサーバへrootユーザでログイン 2. 以下を/etc/sysctl.confに追加 例)バックログ値を2048まで許容する場合 net.core.somaxconn = 2048 3. 以下を実行し、sysctl.confの設定を即時反映 # sysctl -p
4. amstuneによるOSのチューニング
プロセス数の増加を検討される場合、amstuneコマンドによるOSのチューニングをご検討ください。
同時接続数増加に伴う関連OSパラメータのチューニングが行われます。
amstuneコマンドの詳細は、管理者ガイドの「amstune[サーバのチューニング]」の章をご参照ください。
5. ISWMフィルタリングサービスのファイルディスクリプタ上限(Linux版のみ)
プロセス数の増加に伴い、対応するファイルディスクリプタ上限(デフォルト:32768)も増加する必要があります。
HTTP/HTTPS/FTP OVER HTTPのプロセス数の合計の3倍以上の値が目安となります。
ファイルディスクリプタ値は、設定ファイル"<インストールディレクトリ>/conf/sys/system.inf"の設定"LIMIT_NOFILE"にて設定いたします。
デフォルトでは本設定は空です。[SYSTEM_GLOBAL]セクションに以下のように追記します。
変更後は、反映のためにフィルタリングサービスの再起動が必要です。
(例)65536に変更する場合
[SYSTEM_GLOBAL]
LIMIT_NOFILE=65536
一方、Linuxでは/etc/sysctl.confのパラメータ"fs.file-max(デフォルト:環境依存)"でOS全体のファイルディスクリプタ上限を設定しています。
現在値は"sysctl fs.file-max"コマンドで確認可能です。不足している状況であれば、当該値の変更をご検討ください。
1. ISWMのLinuxサーバへrootユーザでログイン 2. 以下を/etc/sysctl.confに追加 例)1048576に変更する場合 fs.file-max = 1048576 3. 以下を実行し、sysctl.confの設定を即時反映 # sysctl -p
6. OSのプロセス数上限(Linux版のみ)
Linux版をご利用の場合、Linuxの仕様で/etc/sysctl.confのパラメータ"kernel.pid_max(デフォルト:32768)"以上のプロセスは同時に存在することができません。
こちらのKBに記載の通り、フィルタリングサービスでは「設定した合計プロセス数の2倍のプロセス」が稼働いたします。
現在値は"sysctl kernel.pid_max"コマンドで確認可能です。
kernel.pid_maxを予め余裕のある値に設定いただくようお願いいたします。
1. ISWMのLinuxサーバへrootユーザでログイン 2. 以下を/etc/sysctl.confに追加 例)65536まで許容する場合 kernel.pid_max = 65536 3. 以下を実行し、sysctl.confの設定を即時反映 # sysctl -p