ページの先頭行へ戻る
Symfoware Server V12.7.0 データベース二重化導入運用ガイド
FUJITSU Software

4.3.1 データベースサーバの資源の見積り

データベースサーバで使用する各資源の見積りを説明します。

データベースサーバでは以下の資源について見積りを行う必要があります。

参照

4.3.1.1 見積りを行う際の注意事項

見積りを行う際の注意事項を以下に説明します。

システム単位のファイル

システム単位のファイルは、正系ノードおよび副系ノードの両ノードで、見積り値を一致させてください。

RLP単位のファイル

RLP単位のファイルは、主系RLPおよび従系RLPのそれぞれのRLPで、見積り値を一致させてください。

メモリ

メモリ使用量の多い副系ノードの見積りを行い、その値を正系ノードにも適用してください。

4.3.1.2 システム単位のファイルの見積り

システム単位に見積りが必要なファイルについて説明します。見積りを行った各資源は、見積り値以上の容量を準備してください。

見積りが必要なファイル

システム単位に見積りが必要なファイルは以下です。

4.3.1.2.1 作業域の見積り

DBミラーリングシステムの環境構築時、副系ノードのデータベース環境は、正系ノードと同じデータベースの定義を行ってから、rdbunlコマンドおよびrdbsloaderコマンドを使用して正系ノードのデータベースデータを全件複写することで作成します。このとき、すべての表のDSIの退避データを、正系ノードから副系ノードに転送するため、両ノードにこれらのファイルを格納する領域が必要になります。

参照

  • rdbunlコマンドを利用したDSIの退避データの容量見積りは、“RDB運用ガイド”を参照してください。

  • rdbunlコマンドおよびrdbsloaderコマンドについては“コマンドリファレンス”を参照してください。

4.3.1.2.2 BCログ管理ファイルの見積り

BC構成パラメタファイルのBCLOGMANAGEパラメタに指定するディレクトリには、2メガバイトの容量が必要です。

参照

BC構成パラメタファイルの詳細は、“5.2.8.3 BC構成パラメタファイルの編集”を参照してください。

4.3.1.2.3 モニタ管理ファイルの見積り

DBミラーリング動作環境ファイルのDX_MANAGE_PATHパラメタに指定するディレクトリには、1メガバイトの容量が必要です。

参照

DBミラーリング動作環境ファイルの詳細は、“5.2.8.1 DBミラーリング動作環境ファイルの編集”を参照してください。
Mirroring Controllerを使用する場合、DBミラーリング動作環境ファイルの詳細は、“D.1 DBミラーリング動作環境ファイルの編集”を参照してください。

4.3.1.2.4 トレースバイナリファイルの見積り

Symfoware Serverのインストールディレクトリ\DX\TRACE配下に30メガバイトの容量が必要です。

4.3.1.3 RLP単位のファイルの見積り

RLP単位に見積りが必要なファイルについて説明します。見積りを行った各資源は、見積り値以上の容量を準備してください。

見積りが必要なファイル

RLP単位に見積りが必要なファイルは以下です。

注意

スケーラブルログ運用の場合はロググループごとに容量を算出し、その総和が資源の容量となります。

4.3.1.3.1 RLMの見積り

RLP定義ファイルのRLM_OWN_SEND_DEVICEパラメタおよびRLM_OWN_RECV_DEVICEパラメタに指定するディレクトリには、1メガバイトの容量が必要です。

4.3.1.3.2 RLCファイルの見積り

RLP定義ファイルのRLC_OWN_DEVICEnパラメタに指定するディレクトリに必要な全体容量を見積ります。そのためには、以下の値が必要となります。

RLCファイルの全体容量は、利用者業務で発生するRERUNログの全体容量よりも余裕を持たせて見積ります。
利用者業務で発生するRERUNログの全体容量の見積り式を、以下に示します。

利用者業務で発生するRERUNログの全体容量 =単位時間あたりのRERUNログ量 × 運用時間
単位時間あたりのRERUNログ量および運用時間の見積りの観点

ネットワーク障害の復旧にかかる時間、副系ノードの保守作業にかかる時間を考慮し、長時間になる方で見積りを行ってください。

  • ネットワーク障害などにより、RERUNログの反映処理が動作できない時間を考慮し、その期間内に発生するRERUNログ量を見積りする必要があります。

  • 副系ノードの保守作業や副系ノードの異常などにより、RERUNログの反映処理が動作できない時間を考慮し、その期間内に発生するRERUNログ量を見積りする必要があります。

  • 利用者業務で長時間にわたるトランザクションがある場合、長時間トランザクションの処理時間が、すべてのRLCファイルを一巡する期間を超えないようにする必要があります。


RLCファイルは、トランザクションの多重度が低い、または、トランザクションのRERUNログ量が少ない場合、RERUNログの充填率が下がる可能性があります。

充填率を考慮したRLCファイルの充填係数の見積り式を、以下に示します。

RLCファイルの充填係数 =(テンポラリログ域のブロック長 × 4 - 56バイト) ÷ トランザクションのRERUNログ量 ÷ 同時に実行するトランザクション数の平均 × 1.3(安全率)

テンポラリログ域のブロック長 : テンポラリログファイル作成時にioオプションで指定する値です。
トランザクションのRERUNログ量 : AIログ量 × トランザクション内の更新件数

利用者業務で発生するRERUNログの全体容量を目安に、以下の式が成り立つように、RLCファイル1つあたりの容量とRLCファイルの数を決定します。
なお、一般的には、RLCファイルの枯渇(RLC交替での容量監視)と運用の簡易性(ボリュームの管理など)を考慮して、RLCファイルの数は10程度で見積って、必要に応じてチューニングすることを推奨します。

RLCファイルの全体容量 = RLCファイル1つあたりの容量 × RLCファイルの充填係数 × RLCファイルの数 > 利用者業務で発生するRERUNログの全体容量

注意

  • RLCファイルの充填係数が1以下になった場合、1としてください。

  • RLCファイル1個の容量を大きくすると、RERUNログ抽出ファイルの容量も大きくなります。
    そのため、RLCファイル1個の容量は、RERUNログ抽出ファイルを出力するディレクトリの空き容量を考慮した見積りをする必要があります。

参照

単位時間あたりのRERUNログ量については、“4.3.1.5 運用で考慮が必要なSymfoware/RDBの資源”を参照してください。

見積り例

以下の条件の見積り例を示します。

  • 単位時間あたりのRERUNログ量(平均値) : 0.2メガバイト/秒

  • RERUNログ反映ができない最大の時間
    副系ノードの保守作業の最大時間を想定: 6時間 = 21600秒

  • RLCファイル数 : 10

  • テンポラリログ域のブロック長 : 512

  • トランザクションのRERUNログ量 : 1000

  • 同時に実行するトランザクション数の平均 : 1

  1. 利用者業務で発生するRERUNログの全体容量は、以下の計算により、4320メガバイトとなります。

    利用者業務で発生するRERUNログの全体容量 = 0.2メガバイト/秒 × 21600秒 = 4320メガバイト
  2. RLCファイルの充填係数は、以下の計算により、2.6となります。

    RLCファイルの充填係数 = (512バイト × 4 - 56バイト) ÷ 1000 ÷ 1 × 1.3 = 2.6
  3. RLCファイル1つあたりの容量は、以下の計算により、1500メガバイトとなります。

    RLCファイル1つあたりの容量 = 利用者業務で発生するRERUNログの全体容量(4320メガバイト) × RLCファイルの充填係数(2.6) ÷ RLCファイル数(10) ≒ 1500メガバイト(切上げ)
4.3.1.3.3 RLP管理オブジェクトの見積り

RLP管理オブジェクトスペース量の見積り値として、以下の値を参考にしてください。この見積り値は、容量に十分な余裕を持たせた値となっています。

表4.5 見積り値

DSI数(注)

RLP管理オブジェクトスペース量

1000

10メガバイト

5000

37メガバイト

10000

71メガバイト

100000

684メガバイト

1000000

6800メガバイト ≒ 6.8ギガバイト

注)DSI数:表のDSI数+順序の数+格納データを暗号化しているデータベーススペースの数

4.3.1.3.4 資源識別子抽出ファイルの見積り

資源識別子抽出ファイルの見積り式を以下に示します。

資源識別子抽出ファイルの容量 = 520バイト
                               + 表のDSI数 × 168バイト
                               + 順序数 × 148バイト
                               + データベーススペース数 × 80バイト(注)

注) 格納データを暗号化する場合に加算します。

DSI数

当該RLPに属するロググループ配下のDSI数です。

順序数

抽出対象となる順序数は、それぞれ以下のとおりです。

  • スケーラブルログ運用を行っている、かつ、指定したRLPのロググループがシステムロググループの場合:すべての順序数

  • スケーラブルログ運用を行っている、かつ、指定したRLPのロググループがシステムロググループでない場合:0

  • スケーラブルログ運用でない場合:すべての順序数

データベーススペース数

当該RLPに属するロググループ配下のデータベーススペースのうち、格納データを暗号化しているデータベーススペースの数です。

4.3.1.3.5 RERUNログ抽出ファイルの見積り

RERUNログ抽出ファイルの見積り式を以下に示します。

RERUNログ抽出ファイルのサイズ = (2×1024 + BLOCK(Lr)
                                  × RLCファイル1つあたりに格納される最大のトランザクション数)
                                × 1.5(安全率)

Lr : トランザクションのRERUNログ量の最大値(バイト数)
BLOCK : カッコ内の式を、256キロバイトバウンダリで切り上げます
RLCファイル1つあたりに格納される最大のトランザクション数

1つのRLCファイルが満杯となる間に、正系ノードで実行されるトランザクション数を指定してください。

参照

RLCファイルの容量見積りについての詳細は、“4.3.1.3.2 RLCファイルの見積り”を参照してください。

トランザクションのRERUNログ量

トランザクション単位のRERUNログ量は、以下の式で見積ります。

トランザクションのRERUNログ量 = (AIログ量 + 24バイト) × トランザクション内の更新件数
AIログ量

Symfoware/RDBのAIログ量です。

参照

データベース二重化がAIログに付加するログ量の見積りは、“4.3.1.5 運用で考慮が必要なSymfoware/RDBの資源”を参照してください。

注意

RERUNログ抽出ファイルの見積り式は、正系ノードで実行されるトランザクションのRERUNログ量の平均値が観点に含まれているため、トランザクション間でトランザクションのRERUNログ量のばらつきが大きい場合は、本見積り式の誤差が大きくなる場合があります。そのため、運用前に実際に動作させて、必要であれば安全率を大きくする、RERUNログ抽出ファイルを格納するディレクトリのサイズを大きく確保するなどの対処を実施してください。

4.3.1.3.6 RERUNログ抽出作業域の見積り

RERUNログ抽出作業域全体の見積り式を以下に示します。

RERUNログ抽出作業域のサイズ = (BLOCK(Lr) × 正系ノードでの同時実行トランザクション数 × 2)
                              × 1.5(安全率)

Lr : トランザクションのRERUNログ量の最大値(バイト数)
BLOCK : カッコ内の式を、64キロバイトバウンダリで切り上げます
正系ノードでの同時実行トランザクション数

正系ノードでの同時実行トランザクション数は、テンポラリログファイルのトランザクションエントリ数の利用を推奨します。

トランザクションのRERUNログ量

トランザクション単位のRERUNログ量は、以下の式で見積ります。

トランザクションのRERUNログ量 = AIログ量 × トランザクション内の更新件数
AIログ量

Symfoware/RDBのAIログ量です。

参照

AIログ量については“4.3.1.5 運用で考慮が必要なSymfoware/RDBの資源”を参照してください。

注意

RERUNログ抽出作業域は、正系ノードの同時実行トランザクション数と、各トランザクションが出力するRERUNログ量の最大値を観点にして見積ります。各トランザクションの収集するRERUNログ量がトランザクション間でばらつきが大きい場合は、本見積り式の誤差が大きくなるため、実際に動作させて必要に応じてRERUNログ抽出作業域を大きくしてください。

ポイント

  • RERUNログ抽出作業域は、作業域ファイルの拡張が発生しないように設計を行います。
    このため、上の式で求めたRERUNログ抽出作業域全体の見積り値は、できるだけすべて作業域メモリに割り当てます。また、作業域ファイルの1回の割り当て量は、目安として拡張回数が数回程度となるように指定しておき、その後チューニングを行うことを推奨します。ただし、拡張回数が数回程度で収まらない場合は、最大値の100メガバイトを指定してください。

  • 作業域メモリの割り当て量は、RLP動作環境ファイルのEXT_WORK_MEMパラメタで指定します。また、作業域ファイルの1回の割り当て量は、RLP動作環境ファイルのEXT_WORK_SIZEパラメタに指定し、割り当て先ディレクトリはRLP動作環境ファイルのEXT_WORK_PATHパラメタに指定します。

設定例

RERUNログ抽出作業域の見積り値に対するRLP動作環境ファイルのEXT_WORK_MEM、EXT_WORK_SIZEパラメタの設定例を示します。

例1) 割り当て可能なメモリが足りている場合
  • RERUNログ抽出作業域の見積り値 : 30メガバイト

  • 割り当て可能なメモリ量 : 100メガバイト

    RERUNログ抽出作業域の見積り値は、すべて作業域メモリに割り当てます。

    EXT_WORK_MEM=30

    RERUNログ抽出作業域の見積り値がすべて作業域メモリで足りているため、作業域ファイルの1回の割り当て量はデフォルト値(10メガバイト)を推奨します。

    EXT_WORK_SIZE=10
例2) 割り当て可能なメモリが不足している場合
  • RERUNログ抽出作業域の見積り値 : 650メガバイト

  • 割り当て可能なメモリ量 : 500メガバイト

    RERUNログ抽出作業域の見積り値は、できるだけ作業域メモリに割り当てます。

    EXT_WORK_MEM=500

    RERUNログ抽出作業域の見積り値に対して作業域メモリが不足しているため、不足分を作業域ファイルに割り当てます。作業域ファイルの1回の割り当て量は、拡張回数が数回程度(以下の例では3回)になるように設定します。

    EXT_WORK_SIZE=50

参照

4.3.1.3.7 RERUNログ引継ぎファイルの見積り

RLP動作環境ファイルで指定するRERUNログ引継ぎファイルのパスには、RLCファイルの2倍の空き容量を確保します。

4.3.1.4 メモリの見積り

DBミラーリングシステムで必要となるメモリ量の見積りについて説明します。

副系ノードで必要なメモリ量

副系ノードで必要なメモリ量は、以下の式で見積ります。

システム全体のメモリ使用量 = 58.6 × 1024 × 1024
                       + ロググループ1個目で必要なロググループ単位のメモリ量
                       + ロググループ2個目で必要なロググループ単位のメモリ量
                             :
                       + ロググループn個目で必要なロググループ単位のメモリ量

ロググループ単位のメモリ量は以下の式で見積ります。

ロググループ単位のメモリ使用量(バイト) = 5.7 × 1024 × 1024
                       + 12000 × 表のDSI数
                       + 256 ×(表のDSI数+順序数(注1))
                       + 400 × DSIごとのインデックス数
                       + 450000 × 反映常駐スレッド数
                       + RLP管理オブジェクトのオブジェクトサイズ
                      (+ 2 × 1024 × 1024 )(注2)

注1) システムロググループの場合に加算します。
注2) RERUNログ反映のコミット順序の保証単位に“LOGGROUP”を指定した場合にのみ加算します。

表のDSI数

当該RLPに属するロググループ配下の表のDSI数です。

順序数

順序を利用している場合は、すべての順序数を指定してください。利用していない場合は、順序数を計算する必要はありません。

DSIごとのインデックス数

該当RLPに属するロググループ配下にある表の中で、最も多くのインデックスを持っている表のインデックス数を指定します。

反映常駐スレッド数

RLP動作環境ファイルのREF_APPLY_MODEパラメタで指定した、反映常駐スレッド数です。

参照

反映常駐スレッド数の見積り方法は、“12.2.3 反映常駐スレッドの多重度数のチューニング”を参照してください。

RLP管理オブジェクトのオブジェクトサイズ

rdbresidentコマンドによるDSIのメモリ常駐化を行う際に利用するメモリ量を指定します。メモリ量は、当該RLPに属するRLP管理オブジェクトのオブジェクトサイズになります。

4.3.1.5 運用で考慮が必要なSymfoware/RDBの資源

DBミラーリングシステムを利用することで、Symfoware/RDBの資源見積りに考慮が必要な資源があります。
以下に、考慮が必要なSymfoware/RDBの資源を示します。

正系ノードで考慮が必要なSymfoware/RDBの資源

DBミラーリングシステムを運用すると、データベース二重化機能がSymfoware/RDBのAIログデータに二重化するための情報を付加します。
このため、Symfoware/RDBの表更新のAIログ量に以下の追加ログ量を加えて見積ります。

DELETE文の場合
追加ログ量 = 20バイト
             + 16バイト(注)
             + 6バイト × 一意キー構成列数
             + 一意キー長

注) 格納データを暗号化する場合に加算します。

INSERT文の場合
追加ログ量 = 16バイト
             + 16バイト(注)

注) 格納データを暗号化する場合に加算します。

UPDATE文の場合
追加ログ量 = 24バイト
             + 16バイト(注)
             + 6バイト × 一意キー構成列数
             + 一意キー長
             + 4バイト × SQL更新列数

注) 格納データを暗号化する場合に加算します。

参照

Symfoware/RDBの表更新のAIログ量については、“セットアップガイド”を参照してください。

副系ノードで考慮が必要なSymfoware/RDBの資源

Symfoware/RDBのテンポラリログファイルの容量は、反映常駐スレッドの多重度数とトランザクション結合数を考慮する必要があります。

以下に、副系ノードのテンポラリログファイルの見積り方法について説明します。

注意

  • トランザクション結合数は、RLP動作環境ファイルのREF_APPLY_MODEパラメタに指定できます。

  • RLP動作環境ファイルのREF_APPLY_MODEパラメタの反映常駐スレッド数またはトランザクション結合数を変更した場合は、副系ノードのテンポラリログファイルの再見積りを行ってください。

  • Symfoware/RDBのテンポラリログファイルの容量見積りを行った結果を、正系ノードと副系ノードのテンポラリログファイルに反映してください。

参照

Symfoware/RDBのテンポラリログファイルの見積り式については、“セットアップガイド”を参照してください。

両ノードで考慮が必要なSyfoware/RDBの資源

Symfoware/RDBの監査ログの見積りとして、DBミラーリングシステム利用時の見積もりを考慮する必要があります。
Symfoware/RDBの見積り量に、DBミラーリングシステムの見積り量として、以下の式で求めた値を加算してください。

ポイント

DBミラーリングシステム利用時の監査ログを取得する際は、管理者の実行に関する監査ログを取得してください。

参照

監査ログの詳細な見積り式については、“セットアップガイド”を参照してください。