データベースサーバで使用する各資源の見積りを説明します。
データベースサーバでは以下の資源について見積りを行う必要があります。
参照
データベース二重化機能のファイル資源については、“4.1.2 ファイルの構成”を参照してください。
ディスク容量など、詳細に見積りを行いたい場合は、“付録A 資源の見積り(詳細版)”を参照してください。
見積りを行う際の注意事項を以下に説明します。
システム単位のファイルは、正系ノードおよび副系ノードの両ノードで、見積り値を一致させてください。
RLP単位のファイルは、主系RLPおよび従系RLPのそれぞれのRLPで、見積り値を一致させてください。
メモリ使用量の多い副系ノードの見積りを行い、その値を正系ノードにも適用してください。
システム単位に見積りが必要なファイルについて説明します。見積りを行った各資源は、見積り値以上の容量を準備してください。
システム単位に見積りが必要なファイルは以下です。
セットアップ時に必要なファイル
運用で必要なファイル
DBミラーリングシステムの環境構築時、副系ノードのデータベース環境は、正系ノードと同じデータベースの定義を行ってから、rdbunlコマンドおよびrdbsloaderコマンドを使用して正系ノードのデータベースデータを全件複写することで作成します。このとき、すべての表のDSIの退避データを、正系ノードから副系ノードに転送するため、両ノードにこれらのファイルを格納する領域が必要になります。
参照
rdbunlコマンドを利用したDSIの退避データの容量見積りは、“RDB運用ガイド”を参照してください。
rdbunlコマンドおよびrdbsloaderコマンドについては“コマンドリファレンス”を参照してください。
BC構成パラメタファイルのBCLOGMANAGEパラメタに指定するディレクトリには、2メガバイトの容量が必要です。
参照
BC構成パラメタファイルの詳細は、“5.2.8.3 BC構成パラメタファイルの編集”を参照してください。
DBミラーリング動作環境ファイルのDX_MANAGE_PATHパラメタに指定するディレクトリには、1メガバイトの容量が必要です。
参照
DBミラーリング動作環境ファイルの詳細は、“5.2.8.1 DBミラーリング動作環境ファイルの編集”を参照してください。
Mirroring Controllerを使用する場合、DBミラーリング動作環境ファイルの詳細は、“D.1 DBミラーリング動作環境ファイルの編集”を参照してください。
Symfoware Serverのインストールディレクトリ\DX\TRACE配下に30メガバイトの容量が必要です。
RLP単位に見積りが必要なファイルについて説明します。見積りを行った各資源は、見積り値以上の容量を準備してください。
RLP単位に見積りが必要なファイルは以下です。
複写先RLPおよび複写元RLPの両方に配置するファイル
複写先RLPにのみ配置するファイル
注意
スケーラブルログ運用の場合はロググループごとに容量を算出し、その総和が資源の容量となります。
RLP定義ファイルのRLM_OWN_SEND_DEVICEパラメタおよびRLM_OWN_RECV_DEVICEパラメタに指定するディレクトリには、1メガバイトの容量が必要です。
RLP定義ファイルのRLC_OWN_DEVICEnパラメタに指定するディレクトリに必要な全体容量を見積ります。そのためには、以下の値が必要となります。
利用者業務で発生するRERUNログの全体容量
RLCファイル1つあたりの容量(RLP定義ファイルのRLC_SIZEに指定)
RLCファイルの数(RLP定義ファイルのRLC_NUMに指定)
テンポラリログ域のブロック長
トランザクションのRERUNログ量
同時に実行するトランザクション数の平均
RLCファイルの全体容量は、利用者業務で発生する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
利用者業務で発生するRERUNログの全体容量は、以下の計算により、4320メガバイトとなります。
利用者業務で発生するRERUNログの全体容量 = 0.2メガバイト/秒 × 21600秒 = 4320メガバイト
RLCファイルの充填係数は、以下の計算により、2.6となります。
RLCファイルの充填係数 = (512バイト × 4 - 56バイト) ÷ 1000 ÷ 1 × 1.3 = 2.6
RLCファイル1つあたりの容量は、以下の計算により、1500メガバイトとなります。
RLCファイル1つあたりの容量 = 利用者業務で発生するRERUNログの全体容量(4320メガバイト) × RLCファイルの充填係数(2.6) ÷ RLCファイル数(10) ≒ 1500メガバイト(切上げ)
RLP管理オブジェクトスペース量の見積り値として、以下の値を参考にしてください。この見積り値は、容量に十分な余裕を持たせた値となっています。
DSI数(注) | RLP管理オブジェクトスペース量 |
---|---|
1000 | 10メガバイト |
5000 | 37メガバイト |
10000 | 71メガバイト |
100000 | 684メガバイト |
1000000 | 6800メガバイト ≒ 6.8ギガバイト |
注)DSI数:表のDSI数+順序の数+格納データを暗号化しているデータベーススペースの数
資源識別子抽出ファイルの見積り式を以下に示します。
資源識別子抽出ファイルの容量 = 520バイト + 表のDSI数 × 168バイト + 順序数 × 148バイト + データベーススペース数 × 80バイト(注)
注) 格納データを暗号化する場合に加算します。
当該RLPに属するロググループ配下のDSI数です。
抽出対象となる順序数は、それぞれ以下のとおりです。
スケーラブルログ運用を行っている、かつ、指定したRLPのロググループがシステムロググループの場合:すべての順序数
スケーラブルログ運用を行っている、かつ、指定したRLPのロググループがシステムロググループでない場合:0
スケーラブルログ運用でない場合:すべての順序数
当該RLPに属するロググループ配下のデータベーススペースのうち、格納データを暗号化しているデータベーススペースの数です。
RERUNログ抽出ファイルの見積り式を以下に示します。
RERUNログ抽出ファイルのサイズ = (2×1024 + BLOCK(Lr) × RLCファイル1つあたりに格納される最大のトランザクション数) × 1.5(安全率) Lr : トランザクションのRERUNログ量の最大値(バイト数) BLOCK : カッコ内の式を、256キロバイトバウンダリで切り上げます
1つのRLCファイルが満杯となる間に、正系ノードで実行されるトランザクション数を指定してください。
参照
RLCファイルの容量見積りについての詳細は、“4.3.1.3.2 RLCファイルの見積り”を参照してください。
トランザクション単位のRERUNログ量は、以下の式で見積ります。
トランザクションのRERUNログ量 = (AIログ量 + 24バイト) × トランザクション内の更新件数
Symfoware/RDBのAIログ量です。
参照
データベース二重化がAIログに付加するログ量の見積りは、“4.3.1.5 運用で考慮が必要なSymfoware/RDBの資源”を参照してください。
注意
RERUNログ抽出ファイルの見積り式は、正系ノードで実行されるトランザクションのRERUNログ量の平均値が観点に含まれているため、トランザクション間でトランザクションのRERUNログ量のばらつきが大きい場合は、本見積り式の誤差が大きくなる場合があります。そのため、運用前に実際に動作させて、必要であれば安全率を大きくする、RERUNログ抽出ファイルを格納するディレクトリのサイズを大きく確保するなどの対処を実施してください。
RERUNログ抽出作業域全体の見積り式を以下に示します。
RERUNログ抽出作業域のサイズ = (BLOCK(Lr) × 正系ノードでの同時実行トランザクション数 × 2) × 1.5(安全率) Lr : トランザクションのRERUNログ量の最大値(バイト数) BLOCK : カッコ内の式を、64キロバイトバウンダリで切り上げます
正系ノードでの同時実行トランザクション数は、テンポラリログファイルのトランザクションエントリ数の利用を推奨します。
トランザクション単位のRERUNログ量は、以下の式で見積ります。
トランザクションのRERUNログ量 = 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パラメタの設定例を示します。
RERUNログ抽出作業域の見積り値 : 30メガバイト
割り当て可能なメモリ量 : 100メガバイト
RERUNログ抽出作業域の見積り値は、すべて作業域メモリに割り当てます。
EXT_WORK_MEM=30
RERUNログ抽出作業域の見積り値がすべて作業域メモリで足りているため、作業域ファイルの1回の割り当て量はデフォルト値(10メガバイト)を推奨します。
EXT_WORK_SIZE=10
RERUNログ抽出作業域の見積り値 : 650メガバイト
割り当て可能なメモリ量 : 500メガバイト
RERUNログ抽出作業域の見積り値は、できるだけ作業域メモリに割り当てます。
EXT_WORK_MEM=500
RERUNログ抽出作業域の見積り値に対して作業域メモリが不足しているため、不足分を作業域ファイルに割り当てます。作業域ファイルの1回の割り当て量は、拡張回数が数回程度(以下の例では3回)になるように設定します。
EXT_WORK_SIZE=50
参照
RERUNログ抽出作業域のチューニングについては“12.1 RERUNログ抽出作業域のチューニング”を参照してください。
RLP動作環境ファイルのEXT_WORK_MEMパラメタおよびEXT_WORK_SIZEパラメタについては“5.2.8.4 RLP動作環境ファイルの編集”を参照してください。
RLP動作環境ファイルで指定するRERUNログ引継ぎファイルのパスには、RLCファイルの2倍の空き容量を確保します。
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”を指定した場合にのみ加算します。
当該RLPに属するロググループ配下の表のDSI数です。
順序を利用している場合は、すべての順序数を指定してください。利用していない場合は、順序数を計算する必要はありません。
該当RLPに属するロググループ配下にある表の中で、最も多くのインデックスを持っている表のインデックス数を指定します。
RLP動作環境ファイルのREF_APPLY_MODEパラメタで指定した、反映常駐スレッド数です。
参照
反映常駐スレッド数の見積り方法は、“12.2.3 反映常駐スレッドの多重度数のチューニング”を参照してください。
rdbresidentコマンドによるDSIのメモリ常駐化を行う際に利用するメモリ量を指定します。メモリ量は、当該RLPに属するRLP管理オブジェクトのオブジェクトサイズになります。
DBミラーリングシステムを利用することで、Symfoware/RDBの資源見積りに考慮が必要な資源があります。
以下に、考慮が必要なSymfoware/RDBの資源を示します。
DBミラーリングシステムを運用すると、データベース二重化機能がSymfoware/RDBのAIログデータに二重化するための情報を付加します。
このため、Symfoware/RDBの表更新のAIログ量に以下の追加ログ量を加えて見積ります。
追加ログ量 = 24バイト + 16バイト(注) + 6バイト × 一意キー構成列数 + 一意キー長 + 4バイト × SQL更新列数
注) 格納データを暗号化する場合に加算します。
参照
Symfoware/RDBの表更新のAIログ量については、“セットアップガイド”を参照してください。
Symfoware/RDBのテンポラリログファイルの容量は、反映常駐スレッドの多重度数とトランザクション結合数を考慮する必要があります。
以下に、副系ノードのテンポラリログファイルの見積り方法について説明します。
トランザクションエントリ数
同時に実行するトランザクション数の最大値(最大の多重度)
RLP動作環境ファイルのREF_APPLY_MODEパラメタの反映常駐スレッド数に指定する値以上の数を指定してください。
2以上の値を指定してください。
コマンドキャンセル(SQL文単位のキャンセル)を含むコミットトランザクションの割合
1を指定してください。
BIログ域サイズ
処理時間が長いトランザクションが存在しない場合と同じ見積りを行ってください。
トランザクションの更新ログ量の最大値
トランザクションの更新ログ量の最大値(バイト数)にRLP動作環境ファイルのREF_APPLY_MODEパラメタのトランザクション結合数を乗算してください。
注意
トランザクション結合数は、RLP動作環境ファイルのREF_APPLY_MODEパラメタに指定できます。
RLP動作環境ファイルのREF_APPLY_MODEパラメタの反映常駐スレッド数またはトランザクション結合数を変更した場合は、副系ノードのテンポラリログファイルの再見積りを行ってください。
Symfoware/RDBのテンポラリログファイルの容量見積りを行った結果を、正系ノードと副系ノードのテンポラリログファイルに反映してください。
参照
Symfoware/RDBのテンポラリログファイルの見積り式については、“セットアップガイド”を参照してください。
Symfoware/RDBの監査ログの見積りとして、DBミラーリングシステム利用時の見積もりを考慮する必要があります。
Symfoware/RDBの見積り量に、DBミラーリングシステムの見積り量として、以下の式で求めた値を加算してください。
データベース二重化を使用する場合
1時間あたりの監査ログ量 = 5メガバイト + (ロググループ数(注) × 12メガバイト)
Mirroring Controllerを使用する場合
1時間あたりの監査ログ量 = 25メガバイト + (ロググループ数(注) × 12メガバイト)
注) 監査ログ用ロググループを除く
ポイント
DBミラーリングシステム利用時の監査ログを取得する際は、管理者の実行に関する監査ログを取得してください。
参照
監査ログの詳細な見積り式については、“セットアップガイド”を参照してください。