スケーラブルデータベースサーバ HiRDB Version 8 システム定義(UNIX(R)用)

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

2.2.2 同時実行最大数に関するオペランド

4) pd_max_users = 最大同時接続数
〜<符号なし整数>
  • HiRDB/シングルサーバの場合:((1〜3000))《10》
  • HiRDB/パラレルサーバの場合:((1〜2000))《10》
HiRDBサーバに対する最大同時接続数を指定します。HiRDB/パラレルサーバの場合は1フロントエンドサーバに対する最大同時接続数を指定します。HiRDBサーバへの接続要求数がこのオペランドの値を超えると,HiRDBサーバはそれ以上の接続要求を受け付けません(接続要求はエラーになります)。なお,ここでいう接続とは,CONNECT文によるHiRDBサーバへの接続を意味しています。
《指定値の目安》
  • OpenTP1を使用する場合は,HiRDBサーバに接続する(XA接続を含む)OpenTP1のサーバプロセス数が接続数になります。
  • DBPARTNER/Serverを使用する場合は,DBPARTNER/Serverの接続クライアント数が接続数になります。
  • HiRDB SQL Executerを使用する場合は,HiRDB SQL Executerの接続クライアント数が接続数になります。
  • 複数接続機能を使用する場合は,各UAPの同時接続数の総和が接続数になります。
  • HiRDBのコマンド及びユティリティの中には,内部的にHiRDBに接続するものがあるため,これらのコマンド及びユティリティの実行中は接続できるユーザ数が一時的に減少します。このことを考慮してオペランドの値を決めてください。コマンド及びユティリティの接続数については,マニュアル「HiRDB Version 8 コマンドリファレンス」の「コマンドの同時実行数」を参照してください。
《注意事項》
  • pd_max_usersオペランドの値を大きくした場合は,pd_max_server_processオペランドの値も大きくする必要があります。また,これに伴いHiRDBが使用する共用メモリ,及びポート数が増加します。pd_max_usersオペランドの値を大きくした場合(ユーザ数が増えた場合)の注意事項については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。なお,pd_max_server_processオペランドを省略すると,このオペランドの値をHiRDBが自動計算します。
  • マルチフロントエンドサーバの場合は,最大でpd_max_usersオペランドの値×フロントエンドサーバ数の接続要求を処理できますが,pd_max_usersオペランドの値×フロントエンドサーバ数の値がpd_max_usersオペランドの指定可能上限値(2000)を超えないようにしてください。
  • pd_max_reflect_process_countオペランドの値と追い付き反映処理プロセスの総数によっては,pd_max_usersオペランドの値まで接続できないことがあります。詳細については,pd_max_reflect_process_countオペランドの説明を参照してください。
  • HiRDBサーバへの接続要求数がこのオペランドの値を超えると,接続要求がエラーとなり,プロセスが残ったままになることがあります。pdls -d prcコマンドでプロセスが残っていないか確認し,残っていた場合はpdcancelコマンドでそのプロセスを強制終了させてください。
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_lck_hash_entry
  • pd_lck_pool_size
  • pd_lck_release_detect
  • pd_max_bes_process
  • pd_max_dic_process
  • pd_max_reflect_process_count
  • pd_max_server_process
  • pd_process_count
  • pd_process_terminator_max
  • pdcltgrp

 

5) pd_max_server_process = 最大同時起動サーバプロセス数
〜<符号なし整数>((50〜10000))
ユニット内で同時に起動するサーバのプロセス数の最大値を指定します。サーバのプロセス数には,システムサーバ,各サーバ,ユティリティなどのプロセス数を含めます。システムサーバとはHiRDBが内部的に使用するサーバのことです。
《指定値の目安》
  • 通常はこのオペランドを省略してください。このオペランドを省略すると,次に示す計算式の値が仮定されます。なお,変数の説明中に出てくるオペランドの値を変更した場合はHiRDBが自動的に再計算します。また,最大同時起動サーバプロセス数がpd_max_server_processの最大値(10000)を超える場合は,各種定義値を小さくし,定義省略時の計算式が最大値内に収まるようにしてください。
    省略値=a+b×(c+30)+70+i+j+k+m+n
    ただし,pd_sysdef_default_optionオペランドにv6compatibleを指定している場合は100が仮定されます。
  • このオペランドを指定する場合は次に示す計算式を参考にして求めてください。HiRDB/パラレルサーバの場合はユニットごとに求めてください。その結果のうち一番大きな値を目安としてください。
    推奨値の目安=a+b×(c+d×e+f+3)+d×g+h+i+j+k+m+n
    変数 変数の説明
    HiRDB/シングルサーバの場合
    pd_max_usersの値
    HiRDB/パラレルサーバの場合
    ユニット内のサーバごとに次の計算式を実行して求めた値を合計してください。
    バックエンドサーバの場合:pd_max_bes_processの値
    ディクショナリサーバの場合:pd_max_dic_processの値
    フロントエンドサーバの場合:pd_max_usersの値
    • pd_max_bes_process又はpd_max_dic_processオペランドを省略している場合はpd_max_usersの値で計算してください。
    • ユニット内に複数のバックエンドサーバがある場合は,バックエンドサーバごとに計算してください。
    • マルチフロントエンドサーバの場合,フロントエンドサーバごとに1を加算してください。
    • 影響分散スタンバイレス型系切り替え機能を適用するユニットの場合は,pd_ha_max_server_processオペランドの値を代入します。
    HiRDB/シングルサーバの場合
    1
    HiRDB/パラレルサーバの場合
    ユニット内サーバ数(システム共通定義のpdstartオペランドで該当ユニットに割り当てたサーバ数)
    • 影響分散スタンバイレス型系切り替え機能を適用するユニットの場合は,pd_ha_max_act_guest_serversオペランドの値(省略している場合はデフォルト値)を加算します。
    全面回復処理の並列実行プロセス数(pd_max_recover_processオペランドの値)
    同時実行するユティリティの最大数(このオペランドを省略した場合2が仮定されます)
    ユティリティがサーバごとに起動するプロセス数(10としてください)
    HiRDBがサーバ制御のために起動するプロセス数(7としてください)
    ユティリティがユニット単位に起動するプロセス数(10としてください)
    HiRDBがユニット制御のために起動するプロセス数(50としてください)
    HiRDB/シングルサーバの場合
    1
    HiRDB/パラレルサーバの場合
    ユニット内バックエンドサーバ数
    • 影響分散スタンバイレス型系切り替え機能を適用するユニットの場合は,pd_ha_max_act_guest_serversオペランドの値を加算します。
    HiRDB/シングルサーバの場合
    pd_max_ard_processオペランドの値
    HiRDB/パラレルサーバの場合
    ユニット内バックエンドサーバ数×pd_max_ard_processオペランドの値+ユニット内ディクショナリサーバ数×pd_max_ard_processオペランドの値
    • 影響分散スタンバイレス型系切り替え機能を適用するユニットの場合は,次に示す値を加算してください。
      ゲストBESのpd_max_ard_processオペランドの最大値×pd_ha_max_act_guest_serversオペランドの値
    pd_process_terminatorオペランドの指定値によって値が変わります。
    • residentの場合:1
    • fixedの場合(省略値):pd_process_terminator_maxオペランドの値
    • nonresidentの場合:0
    更新可能なオンライン再編成をする場合は次に示す値を代入します。更新可能なオンライン再編成を行わない場合は0を代入します。
    HiRDB/シングルサーバの場合

    HiRDB/パラレルサーバの場合
    x×(y+z)
    x:pd_max_reflect_process_countオペランドの値
    y:ユニット内のサーバ数
    z:pd_ha_max_act_guest_serversオペランドの値
    影響分散スタンバイレス型系切り替え機能を適用するユニットの場合にzを加算します。影響分散スタンバイレス型系切り替え機能を適用しないユニットの場合は0になります。
    HiRDB/シングルサーバの場合
    pd_dfw_awt_processオペランドの値
    HiRDB/パラレルサーバの場合
    バックエンドサーバ数×pd_dfw_awt_processオペランドの値+ディクショナリサーバ数×
    pd_dfw_awt_processオペランドの値
    • 影響分散スタンバイレス型系切り替え機能を適用するユニットの場合は,次に示す値を加算してください。
      ゲストBESのpd_dfw_awt_processオペランドの最大値×pd_ha_max_act_guest_serversオペランドの値
《ほかのオペランドとの関連》
  • このオペランドの指定値で,pd_process_countオペランドの上限値が制限されます。
  • 各ユニットでサーバの構成が大きく異なるため,ユニットごとに値を調整する場合は,ユニット制御情報定義のpd_max_server_processオペランドを指定してください。
《注意事項》
  • この指定値にはユニット内のサーバ,ユティリティなどのプロセス数が含まれます。したがって,この値が小さ過ぎると,次に示す現象が発生することがあります。
    ・ユニット又はサーバの開始処理がエラーになります。
    ・トランザクションの回復処理ができなくなります。
    ・HiRDBの計画停止ができなくなります。
  • 実際に起動できるプロセス数は,システムのリソースなどに影響されるため,リソースの調整やサーバの配置変更などが必要となる場合があります。

 

6) pd_max_access_tables = 同時アクセス可能実表数
〜<符号なし整数>((4〜32000))《64》
1トランザクションで同時にアクセスできる表数と順序数生成子数の合計の最大値を指定します。同時にアクセスできる表数と順序数生成子数とは,1トランザクション中のSQL文に記述した表と順序数生成子の延べ数のことです。
《指定値の目安》
  • 異なるSQL文で同じ表,又は順序数生成子を指定している場合,それぞれに表,又は順序数生成子の指定回数を加えてください。
  • 一つのSQL文で同じ表,又は順序数生成子を複数回指定している場合,それぞれに表,又は順序数生成子の指定回数を加えてください。
  • ディクショナリ表の参照権限を設定する場合は,同時アクセス可能実表数にアクセスするディクショナリ表の5倍の数を加算してください。ディクショナリ表の参照権限については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
  • HiRDB Datareplicatorの反映表定義でload文を指定した回数以上の値を指定してください。load文の指定回数よりも小さい値を指定すると,KFPA11931-Eエラーとなります。

 

7) pd_utl_exec_mode = 0 | 1
ユティリティの最大同時実行数を拡張するかどうかを指定します。
0:
ユティリティの最大同時実行数を拡張しません。この場合,ユティリティの最大同時実行数は,HiRDBが決定します。
1:
ユティリティの最大同時実行数を拡張します。この場合,pd_max_usersオペランドの値に応じてユティリティの最大同時実行数が拡張されます。
このオペランドの指定値によって決まるユティリティの最大同時実行数については,マニュアル「HiRDB Version 8 コマンドリファレンス」の「ユティリティの最大同時実行数」を参照してください。
《指定値の目安》
通常は0を指定しますが,次に示す場合は1を指定してください。
  • 0を指定したときの最大同時実行数では足りない場合
  • 次に示す計算式を満たす場合
全バックエンドサーバ数(HiRDB/シングルサーバの場合は1)×2×全ユティリティの同時実行数≧824
 
また,次に示す条件式をすべて満たす場合は,このオペランドに1を指定すると共用メモリの使用量を少なくできます。
  • pd_max_usersの値<32
  • pd_max_usersの値>ユティリティの最大同時実行数
1を指定した場合,ユティリティ実行時に必要な共用メモリはユティリティ実行時に動的に確保されます。

 

8) pd_max_commit_write_reclaim_no = pdreclaimコマンド(-pオプション)の最大同時実行数
〜<符号なし整数>
  • HiRDB/シングルサーバの場合:((0〜3000))《10》
  • HiRDB/パラレルサーバの場合:((0〜2000))《10》
pdreclaimコマンド(-pオプション)の最大同時実行数を指定します。HiRDB/パラレルサーバの場合は,1サーバ当たりの最大同時実行数を指定します。
0を指定した場合,pdreclaimコマンド(-pオプション)はエラー終了します。また,pdreclaimコマンド(-pオプション)の同時実行数がこのオペランドの指定値を超えた場合,同時実行数の上限を超えたpdreclaimコマンド(-pオプション)はエラー終了します。
《指定値の目安》
pdreclaimコマンドに-pオプションを指定する場合は,コマンドを実行するサーバ当たりの同時実行数を指定します。pdreclaimコマンドに-pオプションを指定しない場合は0を指定します(0を指定することで共用メモリ使用量を削減できます)。
《注意事項》
このオペランドの指定値を大きくすると,バックエンドサーバ,ディクショナリサーバ,シングルサーバが使用する共用メモリが増加するため,必要に応じてメモリ所要量を見直してください。共用メモリの見積もりについては,マニュアル「HiRDB Version 8 システム導入・設計ガイド」を参照してください。
《ほかのオペランドとの関連》
pd_sysdef_default_optionオペランドにv6compatible又はv7compatibleを指定している場合,このオペランドの省略値は0になります。このため,pd_sysdef_default_optionオペランドにv6compatible又はv7compatibleを指定し,このオペランドを省略するとpdreclaimコマンド(-pオプション)を実行できません。