9.4.1 サーバプロセス数の変更方法
ここでは,サーバプロセス数の変更方法について説明します。説明する項目は次のとおりです。
-
サーバプロセス数を指定するオペランド
-
サーバプロセス数を変更する方法
-
サーバプロセス数を変更するときの運用例
-
注意事項(HiRDB/パラレルサーバ限定)
- 〈この項の構成〉
(1) サーバプロセス数を指定するオペランド
(a) 最大起動プロセス数を指定するオペランド
HiRDBが起動するサーバプロセスの最大数(最大起動プロセス数)は,次の表に示すHiRDBシステム定義のオペランドによって決まります。
サーバの種類 |
指定する定義 |
オペランド名 |
---|---|---|
シングルサーバ |
システム共通定義 |
pd_max_users |
フロントエンドサーバ |
システム共通定義 |
pd_max_users |
ディクショナリサーバ |
ディクショナリサーバ定義,又はサーバ共通定義 |
pd_max_dic_process※1 |
バックエンドサーバ |
バックエンドサーバ定義,又はサーバ共通定義 |
pd_max_bes_process※2 |
- 注1
-
マルチフロントエンドサーバの場合,ディクショナリサーバやバックエンドサーバには複数のフロントエンドサーバから処理要求が送られます。したがって,システム共通定義のpd_max_usersオペランドの指定値を超える処理が集中することがあります(最大でpd_max_usersオペランドの指定値×フロントエンドサーバ数の処理が集中します)。マルチフロントエンドサーバの場合は,処理の集中度に見合った最大プロセス数を算出し,pd_max_dic_processオペランド及びpd_max_bes_processオペランドに指定してください。
- 注2
-
マルチフロントエンドサーバでない場合も,RDエリアやグローバルバッファに関連する運用コマンド(pdbufls,pddbls,pdopen,pdclose,pdhold,又はpdrels)をpd_max_usersの指定値以上同時に実行すると,ディクショナリサーバにpd_max_usersの指定値を超える処理が集中することがあります。この場合も,処理の集中度に見合った最大プロセス数をpd_max_dic_processオペランドに指定してください。
- 注※1
-
pd_max_dic_processオペランドを省略した場合は,システム共通定義のpd_max_usersオペランドの値を仮定します。
- 注※2
-
pd_max_bes_processオペランドを省略した場合は,システム共通定義のpd_max_usersオペランドの値を仮定します。
(b) 常駐プロセス数を指定するオペランド
HiRDBを開始するときに生成するサーバプロセス数(常駐プロセス数)は,pd_process_countオペランドの値によって決まります。
処理要求の集中度が高いシステムでは,常駐プロセス数を大きめの値に設定すれば,処理をすぐに始められます。常駐プロセス数を少ない値で設定すると,常駐プロセス数よりも多い処理要求が集中した場合に,HiRDBは最大起動プロセス数を上限としてサーバプロセスを起動し要求に応じますが,プロセス起動の分だけ処理開始が遅くなります。ただし,常駐プロセス数を大きく設定すると,常にサーバプロセスが起動しているため,数に応じてメモリ占有量が大きくなります。そのため,常駐プロセス数の設定は,処理の集中度とメモリ占有量を考慮してするようにしてください。
(2) サーバプロセス数を変更する方法
サーバプロセス数を変更するには次に示す方法があります。
-
pdchprcコマンドで変更する
-
HiRDBシステム定義で変更する
(a) pdchprcコマンドで変更する方法
pdchprcコマンドで,最大起動プロセス数及び常駐プロセス数を変更できます。ただし,pdchprcコマンドでのプロセス数の変更は一時的なものです。HiRDBが終了するか,又はpdchprcコマンドが実行されるまでの間だけ有効です。
(b) HiRDBシステム定義で変更する方法
表「最大起動プロセス数を指定するオペランド」に示すオペランドとpd_process_countオペランドの値を変更してください。なお,表「最大起動プロセス数を指定するオペランド」に示すオペランドの値を変更する場合は,正常終了又は計画停止させてください。HiRDBを強制終了,又は異常終了した後に表「最大起動プロセス数を指定するオペランド」に示すオペランドの値を変更すると,HiRDBの再開始時にエラーとなり,HiRDBが再開始できないことがあります。ただし,pd_process_countオペランドの値だけを変更する場合,終了モードは関係ありません。
システム構成変更コマンド(pdchgconfコマンド)を使用すると,HiRDBの稼働中にHiRDBシステム定義を変更できます。ただし,このコマンドを使用する場合はHiRDB Advanced High Availabilityが必要になります。HiRDBの稼働中にHiRDBシステム定義を変更する方法については,「HiRDBの稼働中にHiRDBシステム定義を変更する方法(システム構成変更コマンド)」を参照してください。
(3) サーバプロセス数を変更するときの運用例
pdchprcコマンドで,HiRDB稼働中に最大起動プロセス数及び常駐プロセス数を一時的に変更できます。運用例を次に示します。
(a) バッチ処理でサーバプロセス数を減少させる運用
オンライン業務終了後,夜間バッチ処理をするときに,サーバプロセスの常駐プロセス数を一時的に減少させます。夜間バッチ処理では,オンライン業務のように同時に処理要求が発生することは少ないと考えられます。そのため,オンライン業務中のようにサーバプロセスを多数起動しておく必要はなく,夜間バッチ処理が必要とする分だけ,サーバプロセスを起動しておけばよいことになります。バッチ処理でサーバプロセス数を減少させる運用を次の図に示します。
(b) 相互系切り替え環境でのシステム縮退運用
相互系切り替え環境では,系切り替えが発生すると一つのサーバマシンで複数のHiRDBを運用する事態が発生し,一時的にメモリ占有量が拡大します。この場合,pdchprcコマンドを使用してHiRDBのサーバプロセス数を少なくするように設定すると,メモリ占有量の拡大を最小限に抑え込めます。相互系切り替え環境でのシステム縮退運用を次の図に示します。
(4) 注意事項(HiRDB/パラレルサーバ限定)
pdchprcコマンドで,サーバプロセスの最大数を0にするときは注意してください。システムマネジャと同じユニットに配置したフロントエンドサーバのサーバプロセスの最大数を0にすると,次に示すユティリティが実行できなくなります。
-
データベース構成変更ユティリティ
-
データベース作成ユティリティ
-
データベース再編成ユティリティ
-
データベース状態解析ユティリティ
-
最適化情報収集ユティリティ