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

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

9.1.1 システム設計

<この項の構成>
(1) サーバ構成
(2) システムマネジャの設置
(3) フロータブルサーバの設置
(4) フロントエンドサーバの複数化
(5) HiRDB/パラレルサーバが使用するメモリ

(1) サーバ構成

フロントエンドサーバ,ディクショナリサーバ及びバックエンドサーバをそれぞれ一つのサーバマシンに配置するのが,HiRDB/パラレルサーバの基本的なサーバ構成です。ただし,各サーバマシンのCPUの処理負荷が高くない場合,一つのサーバマシンに複数のサーバを配置してもかまいません。一つのサーバマシンに複数のサーバを配置すると,必要とする共用メモリが増加します。共用メモリが不足すると,ユニットが開始できなくなるため,メモリ所要量を十分見積もってください。

設置できるサーバ数の範囲を次の表に示します。

表9-1 設置できるサーバ数の範囲

項目 設置できるサーバ数の範囲
システムマネジャ数 1
フロントエンドサーバ数 1〜1,024
ディクショナリサーバ数 1
バックエンドサーバ数 1〜16,382
1ユニットに作成できるサーバ数 1〜34

(2) システムマネジャの設置

次に示す理由のため,システムマネジャを定義するサーバマシンはHiRDB管理者が運用しやすい場所に設置することをお勧めします。

(3) フロータブルサーバの設置

HiRDBは結合処理のような複雑な検索処理をする場合,データベースを持たないバックエンドサーバを優先的に使用して,処理性能を向上します。サーバマシンに余裕があり,複雑な検索処理をする場合にフロータブルサーバの設置を検討してください。フロータブルサーバを設置する場合,作業表用ファイル用のHiRDBファイルシステム領域を作成してください。作業表用ファイル用のHiRDBファイルシステム領域の名称は,バックエンドサーバ定義のpdworkオペランドで指定します。

(4) フロントエンドサーバの複数化

SQL処理のCPU負荷が高く,一つのフロントエンドサーバで処理しきれない場合,フロントエンドサーバを複数設定します。これをマルチフロントエンドサーバといいます。マルチフロントエンドサーバについては,「9.1.3 マルチフロントエンドサーバの設定」を参照してください。

(5) HiRDB/パラレルサーバが使用するメモリ

HiRDB/パラレルサーバが使用するメモリについて説明します。

HiRDB/パラレルサーバは次に示すメモリを使用します。

(a) メモリ所要量

HiRDB/パラレルサーバが必要とするメモリ所要量をサーバマシンごとに見積もってください。HiRDB/パラレルサーバのメモリ所要量については,「15.2 HiRDB/パラレルサーバのメモリ所要量の見積もり」を参照してください。

(b) 共用メモリの割り当て先

HiRDBでは,共用メモリを次の場所に割り当てできます。

(c) 共用メモリのページ固定

HiRDBでは,次に示す共用メモリを実メモリ上に固定できます。

共用メモリを実メモリ上に固定すると,ページの入出力が少なくなるため,性能が安定します。

前提条件
共用メモリのページ固定をするための前提条件を次に示します。
Windowsのバージョン
Windowsでは,Windows Server 2003 Service Pack 1以降でサポートされているLarge Pageの機能を使用してページ固定をします。そのため,Large PageがサポートされているバージョンのWindowsであることが前提となります。Windowsがページ固定に対応しているかどうかは,pdntenv -osコマンドコマンドで確認してください。
ページロックの権限
共用メモリのページ固定をする場合,メモリ内のページをロックできる権限が必要です。サービス実行時に使用するログオンのアカウントによって,この権限の有無が異なります。権限の設定方法を次に示します。
サービス実行時に使用するログオンのアカウント 権限の設定方法
HiRDB管理者 HiRDB管理者を,OSの[ローカル セキュリティ設定]−[ローカル ポリシー]−[ユーザー権利の割り当て]で,「メモリ内のページのロック」に設定してください。
ローカルシステムアカウント ローカルシステムアカウントにはメモリ内のページをロックできる権限があります。そのため,権限の設定は必要ありません。

動作環境の設定
共用メモリのページ固定をするには,共用メモリの割り当て先の指定が必要です。pdntenvコマンドの-shmfileオプションでpageを指定し,共用メモリの割り当て先をページングファイル(仮想メモリ)に設定してください。

ページ固定の方法
共用メモリのページ固定の方法について,共用メモリの種別ごとに説明します。
  • ユニットコントローラ用共用メモリ
    システム共通定義,又はユニット制御情報定義のpd_shmpool_attributeオペランドにfixedを指定します。
  • グローバルバッファ用共用メモリ
    システム共通定義,又はユニット制御情報定義のpd_dbbuff_attributeオペランドにfixedを指定します。
  • 動的変更したグローバルバッファが使用する共用メモリ
    システム共通定義,又はユニット制御情報定義のpd_dbbuff_attributeオペランドにfixedを指定します。これによって,pdbufmodコマンドを実行して動的変更したグローバルバッファが使用する共用メモリも実メモリ上に固定されます。
  • インメモリデータバッファ用共用メモリ
    pdmemdbコマンドの-pオプションにfixedを指定します。
    注意
    実メモリ上に連続した領域が確保できなかった場合,共用メモリのページ固定ができません。ページ固定に失敗した場合のHiRDBの動作を次に示します。

    ユニットコントローラ用,又はグローバルバッファ用共用メモリの場合
    ページ固定をしないで共用メモリを確保し処理を続行します。

    動的変更したグローバルバッファが使用する共用メモリ,又はインメモリデータバッファ用共用メモリの場合
    HiRDB,又はコマンドが異常終了します。