Hitachi

ノンストップデータベース HiRDB Version 9 システム定義(Windows(R)用)


9.2.3 プロセスに関するオペランド

◆ pd_max_bes_process = 1バックエンドサーバ当たりの最大起動プロセス数

〜<符号なし整数>((1〜2048))《pd_max_usersの値》

1バックエンドサーバ当たりの最大起動プロセス数を指定します。マルチフロントエンドサーバの場合,1バックエンドサーバにpd_max_usersの値を超える処理が集中することがあります。このオペランドには,1バックエンドサーバのプロセスをpd_max_usersの値を超えて起動する場合の最大起動プロセス数を指定します。

《前提条件》

このオペランドはマルチフロントエンドサーバのときに指定します。

《指定値の目安》
  • 1バックエンドサーバに集中する可能性がある処理の最大値を次に示します。

     pd_max_usersオペランドの値×フロントエンドサーバ数

    ここで求めた値を最大値として,バックエンドサーバへの処理の集中度を考慮してこのオペランドの値を指定してください。必要以上に大きな値を指定すると,メモリを圧迫する原因となります。

  • pd_max_usersの値よりも小さな値を指定した場合はpd_max_usersの値を仮定します。このとき,警告メッセージ(KFPS01888-W)を出力します。

  • 起動できるバックエンドサーバプロセス数以上の処理要求が発生した場合,フロントエンドサーバからバックエンドサーバへの接続処理に時間が掛かります。

《指定値のチューニング方法》

最大起動プロセス数のチューニング方法については,マニュアル「HiRDB Version 9 システム運用ガイド」を参照してください。

◆ pd_max_dic_process = 1ディクショナリサーバ当たりの最大起動プロセス数

〜<符号なし整数>((1〜2048))《pd_max_usersの値》

1ディクショナリサーバ当たりの最大起動プロセス数を指定します。マルチフロントエンドサーバの場合,ディクショナリサーバにpd_max_usersの値を超える処理が集中することがあります。また,マルチフロントエンドサーバでない場合も,RDエリアやグローバルバッファに関連する運用コマンド(pdbufls,pddbls,pdopen,pdclose,pdhold,pdrels)をpd_max_usersの値以上同時に実行すると,ディクショナリサーバにpd_max_usersの値を超える処理が集中することがあります。

このオペランドには,1ディクショナリサーバのプロセスをpd_max_usersの値を超えて起動する場合の最大起動プロセス数を指定します。

《指定値の目安》
  • 1ディクショナリサーバに集中する可能性がある処理の最大値を次に示します。

     pd_max_usersオペランドの値×フロントエンドサーバ数

    ここで求めた値を最大値として,ディクショナリサーバへの処理の集中度を考慮してこのオペランドの値を指定してください。必要以上に大きな値を指定すると,メモリを圧迫する原因となります。

  • RDエリアやグローバルバッファに関する運用コマンドの実行で,ディクショナリサーバに処理が集中する場合は,同時に実行する運用コマンドの数が最大値になります。

  • pd_max_usersの値よりも小さな値を指定した場合はpd_max_usersの値を仮定します。このとき,警告メッセージ(KFPS01888-W)を出力します。

  • 起動できるディクショナリサーバプロセス数以上の処理要求が発生した場合,処理に時間が掛かります。

《指定値のチューニング方法》

最大起動プロセス数のチューニング方法については,マニュアル「HiRDB Version 9 システム運用ガイド」を参照してください。

◆ pd_process_count = 常駐プロセス数〔,サーバ開始時の常駐プロセス数〕

〜<符号なし整数>

  • シングルサーバの場合:((0〜3000))最大起動プロセス数

  • バックエンドサーバの場合:((0〜2048))最大起動プロセス数

  • フロントエンドサーバ又はディクショナリサーバの場合:((0〜2048))↑最大起動プロセス数÷2↑

常駐プロセス数:

各サーバの常駐プロセス数を指定します。常駐プロセスとは,サーバ開始時からあらかじめ起動しておくプロセスのことです。

《利点》

各サーバで並行処理できるトランザクションが使用するプロセスを,あらかじめシステム開始時に起動して常駐しておくことで,新たにトランザクションが入力されてもプロセス起動時間を削減できます。ただし,HiRDBの開始に時間が掛かります。

《指定値の目安》
  • 各サーバプロセスのプロセス固有領域とプロセサの実メモリ量から値を求めてください。サーバプロセスのプロセス固有領域については,マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。

  • マルチフロントエンドサーバ構成で,更にpd_max_bes_process又はpd_max_dic_processオペランドを指定している場合は,次に示す条件を満たすようにこのオペランドを指定してください。

    pd_process_countの値≦pd_max_bes_process又はpd_max_dic_processの値

  • このオペランドには,次の表に示す各サーバの最大起動プロセス数の範囲内で値を指定します。

    サーバの種類

    最大起動プロセス数

    シングルサーバ

    pd_max_usersの値

    フロントエンドサーバ

    マルチフロントエンドサーバの場合

    pd_max_usersの値+1

    マルチフロントエンドサーバでない場合

    pd_max_usersの値

    ディクショナリサーバ

    pd_max_dic_processの値

    バックエンドサーバ

    pd_max_bes_processの値

    注※

    pd_max_dic_process又はpd_max_bes_processオペランドを省略している場合は,pd_max_usersの値が仮定されます。

《指定値のチューニング方法》

常駐プロセス数のチューニング方法については,マニュアル「HiRDB Version 9 システム運用ガイド」を参照してください。

《注意事項》
  • 常駐プロセス数はメモリやCPUと密接に関連しているため,必要以上に大きい値を指定すると,HiRDBを開始できなくなったり,サーバマシンの処理性能が低下したりすることがあります。

  • 常駐プロセス数を超えたプロセスが必要になると,最大起動プロセス数までプロセスを動的に起動します。ただし,pd_max_server_processオペランドの指定値によっては,最大起動プロセス数分のプロセスを起動できないことがあります。

《オペランドの省略値》

このオペランドを省略(又は0を指定)し,更に各サーバ定義でもオペランドを省略(又は0を指定)すると,次に示す値が仮定されます。

  • シングルサーバ又はバックエンドサーバの場合:最大起動プロセス数

  • フロントエンドサーバ又はディクショナリサーバの場合:↑最大起動プロセス数÷2↑

サーバ開始時の常駐プロセス数:

HiRDBの開始処理時に常駐化する常駐プロセスの数を指定します。

通常,常駐プロセスの起動処理はHiRDBの開始処理中に行われます。このため,常駐プロセス数が多くなると,それに比例してHiRDBの開始処理時間が長くなります。目安として,100MIPS程度のサーバマシンでプロセスを一つ起動するのに約1秒掛かります。

サーバ開始時の常駐プロセス数の指定有無による処理の違いを次に示します。

●サーバ開始時の常駐プロセス数を指定しない場合(pd_process_count = 500と指定した場合)

すべての常駐プロセスの起動処理をHiRDBの開始処理中に実行します。常駐プロセス(この場合は500個)がすべて起動されないと,HiRDBを開始できません。100MIPS程度のサーバマシンで,HiRDB開始処理時の常駐プロセスの起動に約500秒掛かります。

●サーバ開始時の常駐プロセス数を指定する場合(pd_process_count = 500,50と指定した場合)

一部の常駐プロセスの起動処理をHiRDBの開始処理中に実行し,残りの常駐プロセスの起動処理をHiRDBの開始処理終了後に実行します。一部の常駐プロセス(この場合は50個)が起動されれば,HiRDBを開始できます。100MIPS程度のサーバマシンで,HiRDB開始処理時の常駐プロセスの起動に約50秒掛かります。残りの常駐プロセス(この場合は450個)は,HiRDBの開始処理終了後に起動されます。

《利点》

HiRDBの開始処理時間を短縮できます。系切り替え機能を使用している場合など,HiRDBの開始処理時間をなるべく短くしたいときに適用します。

《指定値の目安》

HiRDBの開始処理終了直後に必要なプロセス数を指定します。

《注意事項》

サーバ開始時の常駐プロセス数を指定する場合は,クライアント環境定義のPDCWAITTIMEオペランドの値を見直してください。

HiRDBの開始直後に,サーバ開始時の常駐プロセス数の値を超えるUAPが実行されると,残りの常駐プロセスを起動した後にトランザクション処理が実行されます。したがって,クライアント環境定義のPDCWAITTIMEオペランドの値が小さいと,一部のUAPがタイムアウトで処理できない場合があります。

PDCWAITTIMEオペランドについては,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。

◆ pd_server_cleanup_interval = 非常駐サーバプロセス停止処理の実行間隔

〜<符号なし整数>((0〜1440))《0》(単位:分)

HiRDBの非常駐サーバプロセスの停止処理をする間隔を分単位で指定します。この機能は,稼働中のサーバプロセス数が常駐プロセス数(pd_process_countオペランドの値)より多くなった場合に適用されます。この機能によって停止するサーバプロセス数はHiRDBが自動的に算出して決定します。

《利点》

業務(稼働中のサーバプロセス数)がピークのときに再利用できる非常駐サーバプロセスが増えるため,メモリなどのプロセス資源の利用効率が向上します。

《指定値の目安》
  • 例えば,一日のうち1時間だけ業務のピーク時間があり,その時間内でピークとなる間隔が2分ぐらいの場合,このオペランドに2を指定します。

  • ピーク時に同時実行されるサーバプロセス数が常駐プロセス数以下の場合,この機能を使用しても効果は期待できないため,このオペランドを省略します。

《指定値のチューニング方法》

システムの稼働に関する統計情報をサーバ単位に1週間取得してください。「サービス実行中のサーバプロセス数(# OF PROCESS ON SERVICE)」の値から業務のピークを求めてください。そのピークが現在設定されている常駐プロセス数(pd_process_countオペランドの値)を超えている場合は,ピークごとの間隔を求めてその時間を設定します。

ただし,サーバマシンのメモリ,CPUなどの資源に余裕がある場合は,不足している分のプロセス数を常駐プロセス数に加算する方(pd_process_countオペランドの値を大きくする方)がこのオペランドを指定するより性能が向上します。

《注意事項》

このオペランドを省略するか,又は0を指定した場合は10秒間隔でサービス待ち状態の非常駐サーバプロセスを調査し,サービス待ち状態の非常駐サーバプロセスがあれば,その非常駐サーバプロセスを停止します。

◆ pd_max_ard_process = 非同期READプロセス数

〜<符号なし整数>((0〜256))《0》

非同期READ機能を使用する場合にこのオペランドを指定します。このオペランドには非同期READ処理に必要なプロセス数を指定します。HiRDB/パラレルサーバの場合は,1サーバ(バックエンドサーバ又はディクショナリサーバ)当たりのプロセス数を指定します。非同期READ機能については,マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。

《前提条件》

pdbufferオペランドの-mオプションで1以上を指定している必要があります。

《指定値の目安》
  • 0又は1を指定してください。ただし,pdbufferオペランドの-mオプションの値が2〜256の場合は,-mオプションと同じ値を指定してください。-mオプションの値が257以上の場合は,RDエリアやシステムファイルを格納するディスク装置の数(HiRDB/パラレルサーバの場合は1サーバ当たりの数)と同じ値を指定するか,又は256を指定してください。

  • このオペランドの値を大きくすると,非同期READ機能が適用されるSQLの多重度が高い場合に処理時間を短縮できます。このオペランドの値を小さくすると,非同期READ機能が適用されるSQLの多重度が高い場合に,非同期READプロセスの処理完了待ちが発生する分,処理時間が余計に掛かることがあります。

  • このオペランドの値×サーバ数分のプロセスが起動されるため,リソース(共用メモリ及びメッセージキュー)を考慮してこのオペランドの値を決定してください。共用メモリ及びメッセージキューの見積もりについては,マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。

《指定値のチューニング方法》

指定値(非同期READプロセス数)のチューニング方法については,マニュアル「HiRDB Version 9 システム運用ガイド」を参照してください。

《オペランドの規則》

このオペランドに0を指定すると,非同期READ機能を使用しません。

1:1スタンバイレス型系切り替え機能を使用している場合,正規BESとそれに対応する代替BESに同じ値を指定してください。

《ほかのオペランドとの関連》

このオペランドの値を変更した場合はpd_max_server_processオペランドの値を見直してください。

《各見積もり式への影響》

pd_max_ard_processオペランドの指定値を変更すると,次の見積もり式に影響があります。

マニュアル「HiRDB Version 9 システム導入・設計ガイド」:

  • 「HiRDB/シングルサーバで起動するプロセス」

  • 「HiRDB/シングルサーバのメモリ所要量の見積もり」の「グローバルバッファが使用する共用メモリの計算式」

  • 「HiRDB/シングルサーバのメモリ所要量の見積もり」の「メモリ所要量の計算式」

  • 「HiRDB/パラレルサーバで起動するプロセス」

  • 「HiRDB/パラレルサーバのメモリ所要量の見積もり」の「グローバルバッファが使用する共用メモリの計算式」

  • 「HiRDB/パラレルサーバのメモリ所要量の見積もり」の「メモリ所要量の計算式」

  • 「シングルサーバが使用する共用メモリの計算式」の「計算式2」

  • 「ディクショナリサーバが使用する共用メモリの計算式」の「計算式2」

  • 「バックエンドサーバが使用する共用メモリの計算式」の「計算式2」

  • 「リソース数に関連する環境変数の見積もり」の「HiRDB/シングルサーバの場合」

  • 「リソース数に関連する環境変数の見積もり」の「HiRDB/パラレルサーバの場合」

◆ pd_dfw_awt_process = デファードライト処理用並列WRITEプロセス数

〜<符号なし整数>((2〜255))

すべてのバッファプールに対して,デファードライト処理の並列WRITE機能を使用する場合にこのオペランドを指定します。このオペランドには並列処理するプロセス数を指定します。プロセス数を増加させることで書き込み処理時間を短縮できます。デファードライト処理の並列WRITE機能については,マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。

《指定値の目安》

デファードライト処理の並列WRITE機能が有効になる最小値の2を指定してください。また,マニュアル「HiRDB Version 9 システム運用ガイド」の「デファードライト処理のチューニング」を参照してオペランドの値を決定してください。

《注意事項》

デファードライト処理の並列WRITE機能を指定すると,プロセス数が増加するため,CPU利用率が上がります。

《各見積もり式への影響》

pd_dfw_awt_processオペランドの指定値を変更すると,次の見積もり式に影響があります。

マニュアル「HiRDB Version 9 システム導入・設計ガイド」:

  • 「HiRDB/シングルサーバで起動するプロセス」

  • 「HiRDB/シングルサーバのメモリ所要量の見積もり」の「メモリ所要量の計算式」

  • 「HiRDB/パラレルサーバで起動するプロセス」

  • 「HiRDB/パラレルサーバのメモリ所要量の見積もり」の「メモリ所要量の計算式」

  • 「シングルサーバが使用する共用メモリの計算式」の「計算式5」

  • 「ディクショナリサーバが使用する共用メモリの計算式」の「計算式4」

  • 「バックエンドサーバが使用する共用メモリの計算式」の「計算式5」

  • 「リソース数に関連する環境変数の見積もり」の「HiRDB/シングルサーバの場合」

  • 「リソース数に関連する環境変数の見積もり」の「HiRDB/パラレルサーバの場合」