Interstage HTTP Server 2.4の運用時は、Webサーバで使用している機能や環境定義ファイル(httpd.conf)の定義内容に応じて、システム資源を拡張する必要がある場合があります。
以下の表を参照して必要なシステム資源の設定値を算出し、本値がシステムのデフォルト値を超える場合、本値を設定してください。ファイルディスクリプタおよびプロセス・スレッドのシステムパラメタ、リソース制限(unit)については、ファイルディスクリプタ数またはプロセス・スレッド数が不足する現象が発生した場合、システムパラメタに本値を設定してください。
■パラメタと必要数
システム資源 | パラメタ | 種類 | 必要数 | |
---|---|---|---|---|
ファイルディスクリプタ | システム全体のファイルディスクリプタの最大数 | [システムパラメタ(/etc/sysctl.conf)] | 設定値 | 10 以上 |
[以下の機能を使用する場合]
| ||||
[環境定義ファイル(httpd.conf)に以下のディレクティブを設定している場合]
| ||||
ファイルディスクリプタの最大数 | [リソース制限(unit)] | 設定値 | 上記と同じ値 | |
ユーザにおいてオープン可能なファイルディスクリプタの最大数 | 設定値 | 上記と同じ値 | ||
プロセス・スレッド | システム全体のプロセス・スレッドの最大数 | [システムパラメタ(/etc/sysctl.conf)] | 設定値 | 1 + n 以上 |
[以下の機能を使用する場合]
| ||||
[環境定義ファイル(httpd.conf)に以下のディレクティブ("|コマンド実行文"指定)を設定している場合]
| ||||
プロセス・スレッドの最大数 | [リソース制限(unit)] | 設定値 | 上記と同じ値 | |
ユーザにおいて作成可能なプロセス・スレッドの最大数 | 設定値 | n 以上 | ||
[以下の機能を使用する場合]
|
m:環境定義ファイル(httpd.conf)のThreadsPerChildディレクティブの設定値
n:環境定義ファイル(httpd.conf)のMaxRequestWorkersディレクティブの設定値
p:環境定義ファイル(httpd.conf)のH2MaxWorkersディレクティブの設定値(未定義の場合は、プロセスあたり利用可能なファイルディスクリプタの値に基づいて決定される値)
注1)複数のWebサーバを運用している場合は、Webサーバごとに必要数を加算してください。
注2)動作するCGIプログラム内で必要となるファイルディスクリプタの数を別途加算してください。
注3)RHEL7/RHEL8を使用して、オペレーティングシステム起動時にWebサーバを自動起動する場合に設定してください。
注4)動作するCGIプログラム内で必要となるプロセス数・スレッド数を別途加算してください。
注5)rootユーザに対する設定値に、必要数を加算してください。環境定義ファイル(httpd.conf)のUserディレクティブに設定したユーザを、Interstage HTTP Server 2.4以外のプログラムでも使用する場合は、Userディレクティブに設定したユーザに対する設定値にも、必要数を加算してください。
■システムパラメタの変更手順(/etc/sysctl.conf)
システムパラメタを変更する手順を以下に示します。詳細については、オペレーティングシステムのドキュメントを参照してください。
/etc/sysctl.confファイルを編集します。
上記の表の「種類」欄が「設定値」の場合は、/etc/sysctl.confファイルのパラメタの値を、上記で算出した値に変更します。
以下のコマンドを実行するか、またはオペレーティングシステムを再起動します。
sysctl -p /etc/sysctl.conf
■リソース制限の変更手順(/etc/security/limits.conf)
システムのリソースを制限する手順を以下に示します。詳細については、オペレーティングシステムのドキュメントを参照してください。
/etc/security/limits.confファイルを編集します。/etc/security/limits.confファイルのパラメタ値を、上記で算出した値に変更します。
オペレーティングシステムを再起動します。
■リソース制限の変更手順(unit)
RHEL7/RHEL8においてシステムのリソースを制限する手順を以下に示します。詳細については、「チューニングガイド」の「RHEL7/RHEL8のunitファイルでの環境定義」を参照してください。
環境定義用unitファイル(FJSVahs_start.service)を作成し、パラメタの値を以下の例のように記述します。
例
FJSVahs_start.serviceの記述例
[LimitNOFILEの場合]
.include /usr/lib/systemd/system/FJSVahs_start.service [Service] LimitNOFILE=値
[LimitNPROCの場合]
.include /usr/lib/systemd/system/FJSVahs_start.service [Service] LimitNPROC=値
/etc/systemd/system配下に、1.で作成したFJSVahs_start.serviceを格納します。
管理者権限で、以下のコマンドを実行します。
/usr/bin/systemctl enable FJSVahs_start.service
オペレーティングシステムを再起動します。