Cosminexus V9 アプリケーションサーバ Cosminexus HTTP Server
(1) 共有メモリセグメントの最大サイズ
HTTP Serverでは,サーバプロセスのステータス情報と内部のトレース情報を共有メモリに採取します。OSには,共有メモリセグメント一つ当たりの最大サイズについて制限するシステムパラメタがあります。
サーバプロセスのステータス情報で使用する共用メモリの大きさ(バイト)は400KB,トレース情報は「MaxClientsディレクティブの値×7KB」です。共有メモリセグメントの最大サイズのシステムパラメタには,それら以上の値を設定してください。
システムパラメタの例を次に示します。なお,OSのシステムパラメタの種別およびその内容は,使用しているOSまたはカーネルのバージョンごとに異なります。システムパラメタの内容および設定方法の詳細については,ご使用のOSのマニュアルを参照してください。
- Linux(R)の場合
- 共有メモリセグメントの最大サイズ:kernel.shmmax(/etc/sysctl.conf)
- AIX,HP-UX(IPF)の場合
- 共有メモリセグメントの最大サイズ:shmmax
(2) 最大プロセス数
システム上のプロセス数およびユーザ当たりのプロセス数は,OSのシステムパラメタによって制限されています。次に示す起動プロセス数から,運用環境における起動プロセス数の合計値を考慮し,システムパラメタを設定してください。
- 制御プロセス
- 起動プロセス数:1個
- 変更対象システムパラメタ:Webサーバを起動したユーザにおける最大プロセス数
- サーバプロセス
- 起動プロセス数:MaxClientsディレクティブ指定値
- 変更対象システムパラメタ:Userディレクティブに指定したユーザにおける最大プロセス数
- CGIプロセス
- CGIプログラムの実行が許可されている場合,CGIプロセスはリクエスト処理時に各サーバプロセスから起動されます。
- 起動プロセス数:MaxClientsディレクティブ指定値
- 変更対象システムパラメタ:Userディレクティブに指定したユーザにおける最大プロセス数
- gcacheサーバ
- SSLセション管理機能を有効にしている場合起動します。
- 起動プロセス数:1個
- 変更対象システムパラメタ:Userディレクティブに指定したユーザにおける最大プロセス数
- rotatelogsプロセス
- ログを一定時間単位に分割する場合に起動します。
- 起動プロセス数:CustomLogディレクティブ,ErrorLogディレクティブ,HWSRequestLogディレクティブ,TransferLogディレクティブに指定したrotatelogsプログラム数
- 変更対象システムパラメタ:Webサーバを起動したユーザにおける最大プロセス数
- rotatelogs2プロセス
- ログをファイルサイズで分割して,複数のファイルにラップアラウンドして出力する場合に起動します。
- 起動プロセス数:CustomLogディレクティブ,ErrorLogディレクティブ,HWSRequestLogディレクティブ,TransferLogディレクティブに指定したrotatelogs2プログラム数
- 変更対象システムパラメタ:Webサーバを起動したユーザにおける最大プロセス数
HTTP Serverのプロセス構造については,「4.1.1 HTTP Serverのプロセス構造(UNIX版)」を参照してください。
システムパラメタの例を次に示します。なお,OSのシステムパラメタの種別およびその内容は,使用しているOSまたはカーネルのバージョンごとに異なります。システムパラメタの内容および設定方法の詳細については,ご使用のOSのマニュアルを参照してください。
- Linuxの場合
- システム全体の最大プロセス数:kernel.threads-max(/etc/sysctl.conf)
- ユーザ当たりの最大プロセス数:nproc(/etc/security/limits.conf)
- AIXの場合
- ユーザ当たりの最大プロセス数:maxuproc
- HP-UX(IPF)の場合
- システム全体の最大プロセス数:nproc
- ユーザ当たりの最大プロセス数:maxuprc
(3) 最大ファイル数(ファイルディスクリプタ数)
システム上でオープンできるファイル数およびユーザ当たりオープンできるファイル数は,OSのシステムパラメタによって制限されています。次に示す,HTTP Serverで使用するファイルディスクリプタ数を考慮して,これらのシステムパラメタを設定してください。
- Linuxの場合
- ファイルディスクリプタ数 =
- ( 50 + A×B + C + 11×C×D + 8×E + (F + H)×G ) × 1.2
- AIXの場合
- ファイルディスクリプタ数 =
- ( 50 + A×B + C + 3×C×D + 5 + (F + H) ) × 1.2
- HP-UX(IPF)の場合
- ファイルディスクリプタ数 =
- ( 50 + A×B + C + 3×C×D + 5×E + (F + H)×G ) × 1.2
- (凡例)
- A:Listenディレクティブ指定数(Listenディレクティブの指定がない場合は1)
- B:ホストに割り当てられたIPアドレスの数
- C:CustomLog,ErrorLog,HWSRequestLog,TransferLogディレクティブ指定の総数
- D:rotatelogsプログラムまたはrotatelogs2プログラムを使用する場合は1,使用しない場合は0
- E:同時実行CGI数(MaxClients指定値)
- F:SSLを使用する場合は3,使用しない場合は2
- G:同時実行リクエスト数(MaxClients指定値)
- H:リバースプロキシを使用する場合は1,使用しない場合は0
- なお,CGIプログラム内およびHTTP Serverに同梱されていない外部モジュール内で使用するファイルディスクリプタの数は含みません。
(4) システムパラメタの定義例
システムパラメタの例を次に示します。なお,OSのシステムパラメタの種別およびその内容は,使用しているOSまたはカーネルのバージョンごとに異なります。システムパラメタの内容および設定方法の詳細については,ご使用のOSのマニュアルを参照してください。
- Linuxの場合
- システム全体の最大ファイル数:fs.file-max(/etc/sysctl.conf)
- AIXの場合
- AIXでは,一つのプロセスがオープンできるファイルディスクリプタ数を設定します。
- ユーザ・プロセスが一度にオープンさせることができるファイル・ディスクリプタの数のソフト制限:nofiles
nofilesには,見積もり式の算出値以上の数値を設定してください。
- ユーザ・プロセスが一度にオープンさせることができるファイル・ディスクリプタの数のハード制限:nofiles_hard
nofiles_hardには,nofiles指定値以上の数値を設定してください。
- HP-UX(IPF)の場合
- システム全体の最大ファイル数:nfile
- プロセスごとのファイル記述子の論理的最大数の初期値:maxfiles
maxfilesには,見積もり式の算出値以上の数値を設定してください。
- プロセスごとのファイル記述子の物理的最大数:maxfiles_lim
maxfiles_limには,maxfiles指定値以上の数値を設定してください。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.