スケーラブルデータベースサーバ HiRDB Version 8 システム導入・設計ガイド(UNIX(R)用)

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

12.2 グローバルバッファのバッファ面数の設定

<この節の構成>
(1) 共用メモリの上限を考慮した設定
(2) バッファヒット率を考慮した設定
(3) 設定方法

(1) 共用メモリの上限を考慮した設定

グローバルバッファのバッファ面数を設定するには,共用メモリの上限を超えないように設定します。現状の共用メモリの上限を超えたバッファ面数を設定する必要がある場合は,OSの共用メモリセグメント一つ当たりの上限をsamコマンドで再設定して,一つの共用メモリセグメント内に収まるバッファ面数を設定します。ただし,サーバマシンで確保できる共用メモリには限界があることに注意してください。

共用メモリでは,一つの共用メモリセグメントに確保できる容量がOSによって決められています。一つの共用メモリセグメントに確保できないグローバルバッファを定義すると,複数の共用メモリセグメントが確保されるため,共用メモリに対するアクセスのオーバヘッドが大きくなります。

(2) バッファヒット率を考慮した設定

グローバルバッファは,共用メモリ上に確保されます。必要以上にグローバルバッファのバッファ面数を設定すると,共用メモリが増加して,システムのディスク容量及びメモリを圧迫します。また,グローバルバッファを検索するためのオーバヘッドも大きくなります。このため,必要最低限の入出力性能が得られるように設定する必要があります。

必要最低限の入出力性能が得られるように設定するには,グローバルバッファ全体のヒット率(更新バッファヒット率+参照バッファヒット率)及び参照バッファヒット率が高くなるように設定します。このためには,次に示す方法があります。

なお,上記の方法でバッファ面数を設定してHiRDBを稼働してから性能向上を図る場合は,pdbuflsコマンド又は統計解析ユティリティ(pdstedit)を指定します。

pdbuflsコマンドの場合には,編集項目である,グローバルバッファ全体のヒット率を高くなるように面数を設定します。

統計解析ユティリティ(pdstedit)の場合には,編集項目である,更新バッファヒット率及び参照バッファヒット率を参照して,グローバルバッファ全体のヒット率が高くなるように面数を設定します。

(3) 設定方法

システム共通定義のpdbufferオペランドの-nオプションでバッファ面数を指定します。