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

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

6.2.6 排他制御に関するオペランド

11) pd_fes_lck_pool_size = フロントエンドサーバの排他制御用プールサイズ
〜<符号なし整数>(単位:キロバイト)
  • 32ビットモードの場合:((1〜2000000))
  • 64ビットモードの場合:((1〜2000000000))
フロントエンドサーバの排他制御で使用する共用メモリ領域排他制御用プール)の大きさをキロバイト単位で指定します。
このオペランドの指定対象の領域は,排他資源管理テーブルとして使用されます。排他資源管理テーブル数,排他要求数,及び排他制御用プールサイズの間には,次の関係があります。
「排他資源管理テーブル数」=「排他要求数」=「排他制御用プールサイズ」×係数
係数には,32ビットモードの場合は6,64ビットモードの場合は4を代入します。
《指定値の目安》
  • 32ビットモードの場合,6件の排他要求で1キロバイトの排他制御用プールサイズが必要です。
  • 64ビットモードの場合,4件の排他要求で1キロバイトの排他制御用プールサイズが必要です。
  • 次に示す計算式を基に,このオペランドの指定値を見積もってください。
    ↑↑(a+b)÷pd_fes_lck_pool_partitionの値↑÷c↑×pd_fes_lck_pool_partitionの値  (キロバイト)
    a:フロントエンドサーバで同時実行するトランザクションの排他要求数の総和です。排他要求数はSQLによって異なります。排他要求数の総和の求め方については,「付録D 排他資源数の見積もり」を参照してください。
    b:(pd_max_usersの値+3)×(pd_max_access_tablesの値+4)
    c:32ビットモードの場合は6,64ビットモードの場合は4を代入してください。
《指定値のチューニング方法》
統計解析ユティリティ(サーバごとのシステムの稼働に関する統計情報)で,フロントエンドサーバの「排他資源管理テーブル使用率(%OF USE LOCK TABLE)」を参照してください。使用率の最大値が80%以上の場合は,これからのデータベース拡張に備えて,このオペランドの値を大きくすることをお勧めします。使用率の最大値が10%以下の場合は,共用メモリを節約するために,このオペランドの値を小さくすることをお勧めします。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,次に示す値が仮定されます。
・32ビットモードの場合
{(pd_max_usersの値+3)×(pd_max_access_tablesの値+4)}÷ 6
・64ビットモードの場合
{(pd_max_usersの値+3)×(pd_max_access_tablesの値+4)}÷ 4
《注意事項》
  • このオペランドの指定値が小さ過ぎると,SQLがエラーリターンすることがあります。
  • このオペランドには,必要以上に大きな値を指定しないでください。このオペランドの指定値を大きくすると,HiRDBが使用する共用メモリが増加します。これによって,共用メモリが不足しHiRDBを開始できないことがあります。
《ほかのオペランドとの関連》
このオペランドは,pd_fes_lck_pool_partitionオペランドと関連があります。

 

12) pd_fes_lck_pool_partition = フロントエンドサーバの排他制御用プール分割数
〜<符号なし整数>((1〜5000))
排他制御処理の分散をするときにフロントエンドサーバの排他制御で使用する排他制御用プールパーティション数を指定します。
排他制御処理の分散については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
《指定値のチューニング方法》
排他制御用プールパーティション数のチューニング方法については,マニュアル「HiRDB Version 8 システム運用ガイド」を参照してください。
《オペランドの省略値》
このオペランドを省略すると,サーバ共通定義の同じオペランドの指定値が有効となります。サーバ共通定義の同じオペランドも省略すると,1が仮定されます。
《注意事項》
  • このオペランドの指定値を大きくし過ぎると,各排他制御用プールパーティションに割り当てられる共用メモリのサイズが小さくなるため,排他制御用プールパーティションが容量不足となりSQLがエラーリターンすることがあります。また,排他制御の処理に時間が掛かるため,システムのパフォーマンスが下がります。この場合,このオペランドの指定値を小さくしてください。
  • 排他制御用プールサイズは1キロバイト以上必要であるため,pd_lck_pool_sizeの値よりも大きな値を指定した場合,このオペランドにはpd_lck_pool_sizeの値が仮定されます。また,このとき,KFPS00421-Wメッセージが出力されます。
《ほかのオペランドとの関連》
このオペランドは次に示すオペランドと関連があります。
  • pd_fes_lck_pool_size
  • pd_lck_deadlock_check_interval

 

13) pd_lck_hash_entry = 排他制御用プールで使用するハッシュエントリ数
〜<符号なし整数>((0〜2147483647))
排他制御用プールで使用するハッシュテーブルのエントリ数を指定します。HiRDBはここで指定された値に従ってユニットコントローラ用の共用メモリに排他制御用プールを確保します。
《指定値の目安》
通常はこのオペランドを省略してください。
次に示す条件に該当する場合は指定値を検討してください。
  • バージョン06-02以降にバージョンアップする場合に共用メモリサイズをできるだけ変更したくないときは11261を指定してください。この場合,バージョンアップ前と同数のハッシュエントリ数を確保するため,排他制御用プール中のハッシュテーブルサイズがバージョンアップ前と同じになります。
  • このオペランドに推奨値より大きい値を指定すると,性能が向上することがあります。ただし,《推奨値の求め方》の変数aより大きい値を指定しても,aを指定したときよりも性能が向上することはありません。
《オペランドの規則》
  • このオペランド及びサーバ共通定義のpd_lck_hash_entryオペランドを省略するか,又はこのオペランドに0を指定すると,HiRDBはサーバごとに推奨値を計算します(pd_sysdef_default_optionオペランドにv6compatibleを指定している場合は11261が仮定されます)。推奨値については《推奨値の求め方》を参照してください。
  • このオペランドに0でも素数でもない値を指定した場合,HiRDBはその指定値を超えない最大の素数が指定されたと仮定します。
《注意事項》
このオペランドの指定値が小さ過ぎると,ハッシュエントリ不足が発生して性能が低下することがあります。このオペランドを省略すれば,ハッシュエントリ不足及びハッシュエントリ不足による性能低下は発生しません。
《推奨値の求め方》
推奨値を次に示します。
推奨値=MAX(↑a÷10↑,11261)を超えない最大の素数
変数 変数の算出式
pd_fes_lck_pool_sizeが省略されている場合 (b+3)×(pd_max_access_tablesの値+4)
pd_fes_lck_pool_sizeが指定されている場合 pd_fes_lck_pool_size値×c
マルチフロントエンドサーバの場合 pd_max_usersの値+1
マルチフロントエンドサーバでない場合 pd_max_usersの値
32ビットモードの場合は6,64ビットモードの場合は4