Cosminexus V9 アプリケーションサーバ Cosminexus HTTP Server

[目次][用語][索引][前へ][次へ]

2.3.2 システムパラメタの定義方法

HTTP Serverに必要なシステムパラメタの定義方法について説明します。設定方法の詳細については,ご使用のOSのマニュアルを参照してください。

<この項の構成>
(1) 共有メモリセグメントの最大サイズ
(2) 最大プロセス数
(3) 最大ファイル数(ファイルディスクリプタ数)
(4) システムパラメタの定義例

(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指定値以上の数値を設定してください。