Hitachi

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


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

◆ 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 コマンドリファレンス」の「コマンドの同時接続数」を参照してください。

《注意事項》
  • pd_max_usersオペランドの値を大きくした場合は,pd_max_server_processオペランドの値も大きくする必要があります。また,これに伴いHiRDBが使用する共用メモリ,及びポート数が増加します。pd_max_usersオペランドの値を大きくした場合(ユーザ数が増えた場合)の注意事項については,マニュアル「HiRDB システム運用ガイド」を参照してください。なお,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_max_bes_process

  • pd_max_dic_process

  • pd_max_reflect_process_count

  • pd_max_server_process

  • pd_process_count

  • pd_process_terminator_max

  • pdcltgrp

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

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

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

  • 「64ビットモードに移行する際の考慮点」

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

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

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

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

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

  • 「HP-UXのオペレーティングシステムパラメタの見積もり」

  • 「Linuxのオペレーティングシステムパラメタの見積もり」

  • 「ステータスファイルの容量の見積もり」の「Sの求め方」

  • 「SQL文が使用する作業表用ファイルの容量」

  • 「最大ファイル数の見積もり(pdfmkfs -lコマンド)」

  • 「システム構成に関する最大値と最小値」

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

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

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

  • 「フロントエンドサーバが使用する共用メモリの計算式」

  • 「メッセージキュー及びセマフォ所要量の見積もり」

  • 「ユニットが使用する通信ポート数の見積もり」

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

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

◆ pd_max_server_process = 最大同時起動サーバプロセス数

〜<符号なし整数>((50〜10000))

ユニット内で同時に起動するサーバのプロセス数の最大値を指定します。サーバのプロセス数には,システムサーバ,各サーバ,ユティリティなどのプロセス数を含めます。システムサーバとはHiRDBが内部的に使用するサーバのことです。

《指定値の目安》
  • 通常はこのオペランドを省略してください。このオペランドを省略すると,次に示す計算式の値が仮定されます。なお,変数の説明中に出てくるオペランドの値を変更した場合はHiRDBが自動的に再計算します。また,最大同時起動サーバプロセス数がpd_max_server_processの最大値(10000)を超える場合は,各種定義値を小さくし,定義省略時の計算式が最大値内に収まるようにしてください。

    省略値=a+b×(c+30)+70+i+j+k+m+n

  • このオペランドを指定する場合は次に示す計算式を参考にして求めてください。HiRDB/パラレルサーバの場合はユニットごとに求めてください。その結果のうち一番大きな値を目安としてください。

    推奨値の目安=a+b×(c+d×e+f+3)+d×g+h+i+j+k+m+n+A

    変数

    変数の説明

    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がサーバ制御のために起動するプロセス数(6としてください)

    ユティリティがユニット単位に起動するプロセス数(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_trn_rcvmsg_store_buflenオペランドの値÷72↓

《ほかのオペランドとの関連》
  • このオペランドの指定値で,pd_process_countオペランドの上限値が制限されます。

  • 各ユニットでサーバの構成が大きく異なるため,ユニットごとに値を調整する場合は,ユニット制御情報定義のpd_max_server_processオペランドを指定してください。

《注意事項》
  • この指定値にはユニット内のサーバ,ユティリティなどのプロセス数が含まれます。したがって,この値が小さ過ぎると,次に示す現象が発生することがあります。

    ・ユニット又はサーバの開始処理がエラーになります。

    ・トランザクションの回復処理ができなくなります。

    ・HiRDBの計画停止ができなくなります。

    ・常駐プロセス数より最大同時接続数が大きい場合は,接続できなくなります。

    ・コマンド実行の延長で動作する,内部プロセス起動時にコマンドエラーになります。

  • 実際に起動できるプロセス数は,システムのリソースなどに影響されるため,リソースの調整やサーバの配置変更などが必要となる場合があります。

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

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

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

  • 「AIXのオペレーティングシステムパラメタの見積もり」

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

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

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

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

  • 「HP-UXのオペレーティングシステムパラメタの見積もり」

  • 「Linuxのオペレーティングシステムパラメタの見積もり」

◆ pd_max_access_tables = 同時アクセス可能実表数

〜<符号なし整数>((4〜32000))《64》

1トランザクションで同時にアクセスできる表数と順序数生成子数の合計の最大値を指定します。同時にアクセスできる表数と順序数生成子数とは,1トランザクション中のSQL文に記述した表と順序数生成子の延べ数のことです。

《指定値の目安》
  • 異なるSQL文で同じ表,又は順序数生成子を指定している場合,それぞれに表,又は順序数生成子の指定回数を加えてください。

  • 一つのSQL文で同じ表,又は順序数生成子を複数回指定している場合,それぞれに表,又は順序数生成子の指定回数を加えてください。

  • ディクショナリ表の参照権限を設定する場合は,同時アクセス可能実表数にアクセスするディクショナリ表の5倍の数を加算してください。ディクショナリ表の参照権限については,マニュアル「HiRDB システム運用ガイド」を参照してください。

  • HiRDB Datareplicatorの反映表定義でload文を指定した回数以上の値を指定してください。load文の指定回数よりも小さい値を指定すると,KFPA11931-Eエラーとなります。

  • HiRDBでは,このオペランドの指定値を基に1トランザクションで排他できる表のエントリを,HiRDBサーバプロセスごとに管理しています。不足した場合はSQLエラーとなります。

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

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

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

  • 「64ビットモードに移行する際の考慮点」

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

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

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

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

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

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

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

  • 「フロントエンドサーバが使用する共用メモリの計算式」