Hitachi

ノンストップデータベース HiRDB Version 10 システム定義(UNIX(R)用)


付録C.1 統計ログファイル(pd_stj_file_size)の見積もり式

出力される統計ログ量は統計情報ごとに異なります。統計情報ごとの統計ログ量を(1)以降に示します。pd_stj_file_sizeオペランドには,(1)以降で求めた統計ログ量の合計値以上の値を指定してください。

注意事項

計算式の単位はバイトのため,合計後,キロバイトに変換してください。

〈この項の構成〉

(1) システムの稼働に関する統計情報(sys)

pdstbeginオペランド又はpdstbeginコマンドに指定したオプションによって異なります。

pd_statisticsオペランドにA,又はYを指定した場合は,次の「-a及び-sオプションを指定しなかった場合」の見積もり式を用いて計算してください。

-a及び-sオプションを指定しなかった場合

統計ログ量=2412×(↓a÷b↓+統計情報出力時間中のpdstjsyncコマンド実行回数) (単位:バイト)

-aオプションを指定した場合

統計ログ量=(1836×c+2412)×(↓a÷b↓+統計情報出力時間中のpdstjsyncコマンド実行回数) (単位:バイト)

-sオプションを指定した場合

統計ログ量=(1836×d+2412)×(↓a÷b↓+統計情報出力時間中のpdstjsyncコマンド実行回数) (単位:バイト)

a:統計情報出力時間 (単位:分)

b:統計情報出力間隔 (単位:分)

pdstbeginオペランド又はpdstbeginコマンドの-mオプションで指定した時間間隔です。

pd_statisticsオペランドにAを指定した場合は1,Yを指定した場合は10となります。

c:ユニット内のサーバ数

システムマネジャは数に入れません。

d:pdstbeginオペランド又はpdstbeginコマンドの-sオプションで指定したサーバ数

(2) UAPに関する統計情報(uap)

〈計算式〉

統計ログ量=1252×統計情報の取得中に実行するUAPの数 (単位:バイト)

実際に実行するUAPの延べ数が分かる場合は,前記の計算式で求めてください。統計情報の収集時間内に実行するUAP数が不明確な場合,UAP数は次の式から求められます。

例えば,30分に10個のUAPを実行し,統計情報を60分ほど収集した場合は,10×60÷30=20となります。

(3) SQLに関する統計情報(sql)

〈計算式〉

統計ログ量=728×統計情報の取得中に実行するSQLの数 (単位:バイト)

実際に実行するSQLの延べ数が分かる場合は,前記の計算式で求めてください。統計情報の収集時間内に実行するSQL数が不明確な場合,SQL数は次の式から求められます。

SQL数=UAPが実行するSQL文の平均的な数×

(単位時間当たりのUAP実行数×統計情報収集時間÷単位時間)

注※

ストアドプロシジャ又はストアドファンクションを実行する場合,手続き又は関数中に記述するSQL文数も数えてください。

(4) グローバルバッファに関する統計情報(buf)

〈計算式〉

統計ログ量=412×a×b (単位:バイト)

a:pdbufferオペランドの指定数

b:統計情報取得中のシンクポイントダンプ取得回数

統計情報収集時間内に取得するシンクポイントダンプ取得回数は,次の計算式から算出してください。

↑統計情報収集時間内に出力するシステムログ量

÷(各サーバの定義で指定したpd_log_max_data_sizeオペランドの指定値の合計値÷3)

×各サーバの定義で指定したpd_log_sdintervalオペランドの指定値の合計値↑

システムログ量については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

(5) データベース操作に関するHiRDBファイルの統計情報(fil)

〈計算式〉

統計ログ量=428×a×b (単位:バイト)

a:データベース初期設定ユティリティの制御文で指定したHiRDBファイル数

b:統計情報取得中のシンクポイントダンプ取得回数

統計情報収集時間内に取得するシンクポイントダンプ取得回数は,次の計算式から算出してください。

↑統計情報収集時間内に出力するシステムログ量

÷(各サーバの定義で指定したpd_log_max_data_sizeオペランドの指定値の合計値÷3)

×各サーバの定義で指定したpd_log_sdintervalオペランドの指定値の合計値↑

システムログ量については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

(6) デファードライト処理に関する統計情報(dfw)

〈計算式〉

統計ログ量=384×a×2+(384×b×c)÷(d×e×f) (単位:バイト)

a:統計情報取得中のシンクポイントダンプ取得回数

統計情報収集時間内に取得するシンクポイントダンプ取得回数は,次の計算式から算出してください。

↑統計情報収集時間内に出力するシステムログ量

÷(各サーバの定義で指定したpd_log_max_data_sizeオペランドの指定値の合計値÷3)

×各サーバの定義で指定したpd_log_sdintervalオペランドの指定値の合計値↑

システムログ量については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

b:1トランザクション当たりの平均更新ページ数

c:統計情報時間内に実行するトランザクション数

d:pdbufferオペランドの−nオプションで指定したバッファ面数の総数

e:全トランザクションに占めるデータベースを更新するトランザクションの比率

f:pdbufferオペランドで指定したデファードライトトリガ時の更新ページ出力比率

(7) インデクスに関する統計情報(idx)

〈計算式〉

統計ログ量=3768×↑a÷128↑×b (単位:バイト)

a:分割されたインデクスの総数

分割されたインデクスの総数は,定義系SQLの各CREATE INDEXのIN RDエリア名で指定するRDエリア名の数の合計値です。

b:統計情報取得中のシンクポイントダンプ取得回数

統計情報収集時間内に取得するシンクポイントダンプ取得回数は,次の計算式から算出してください。

↑統計情報収集時間内に出力するシステムログ量

÷(各サーバの定義で指定したpd_log_max_data_sizeオペランドの指定値の合計値÷3)

×各サーバの定義で指定したpd_log_sdintervalオペランドの指定値の合計値↑

システムログ量については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

(8) SQL静的最適化に関する統計情報(sop)

〈計算式〉

統計ログ量=92×a (単位:バイト)

a:統計情報の取得中に実行するSQL文でSQLオブジェクト生成処理を行う数

ここでいうSQL文とは,PREPARE文,EXECUTE IMMEDIATE文,及び静的SQL文のことです。

実際にSQLオブジェクト生成処理数が分かる場合は,前記の計算式で求めてください。統計情報の収集時間内に実行するSQLオブジェクト生成処理数が不明確な場合,SQLオブジェクト生成処理数は次の式から求められます。

SQLオブジェクト生成処理数=

UAPが実行するSQL文の平均的な数×SQLオブジェクトキャッシュのミスヒット率×(単位時間当たりのUAP実行数×統計情報収集時間÷単位時間)

SQLオブジェクトキャッシュのミスヒット率はシステムに関する統計情報で調べてください。

(9) SQL動的最適化に関する統計情報(dop)

〈計算式〉

統計ログ量=

[図データ]

                        (単位:バイト)

a:実行するSQL文数

b:c番目のSQL文中の表数

(10) SQLオブジェクト実行に関する統計情報(pcd)

●HiRDB/シングルサーバの場合

〈計算式〉

統計ログ量=388×{(a+b+c+d+e+f)+g+h} (単位:バイト)

●HiRDB/パラレルサーバの場合

〈計算式〉

統計ログ量=388×{(a+b+c+d+e+f)×i+g+h} (単位:バイト)

a:OPEN文の実行数

b:CLOSE文の実行数

c:INSERT文の実行数

d:DELETE文の実行数

e:ASSIGN LIST文の実行数

f:UPDATE文の実行数

g:FETCH文の実行数

h:DESCRIBE文の実行数

i:次に示す計算式の値

[図データ]

n:実行するSQL文数

Tm:m番目のSQL文中の表数

(11) SQL文の履歴に関する統計情報(sqh)

〈計算式〉

統計ログ量=(728+a)×b (単位:バイト)

a:SQL文の平均SQL長

b:統計情報の取得中に実行するSQLの数

実際に実行するSQLの延べ数が分かる場合は,前記の計算式で求めてください。統計情報の収集時間内に実行するSQL数が不明確な場合,SQL数は次の式から求められます。

SQL数=UAPが実行するSQL文の平均的な数×

(単位時間当たりのUAP実行数×統計情報収集時間÷単位時間)

注※

ストアドプロシジャ又はストアドファンクションを実行する場合,手続き又は関数中に記述するSQL文数も数えてください。

(12) SQLオブジェクト転送に関する統計情報(obj)

〈計算式〉

統計ログ量=300×統計情報の取得中に実行するSQLの数 (単位:バイト)

実際に実行するSQLの延べ数が分かる場合は,前記の計算式で求めてください。統計情報の収集時間内に実行するSQL数が不明確な場合,SQL数は次の式から求められます。

SQL数=UAPが実行するSQL文の平均的な数×

(単位時間当たりのUAP実行数×統計情報収集時間÷単位時間)

注※

ストアドプロシジャ又はストアドファンクションを実行する場合,手続き又は関数中に記述するSQL文数も数えてください。

(13) データベースの入出力に関する統計情報(dio)

pdstbeginオペランド又はpdstbeginコマンドに指定したオプションによって異なります。

pd_statisticsオペランドにAを指定した場合は,次の「-D everyfileを指定しない場合」の見積もり式を用いて計算してください。

●-D everyfileを指定しない場合

〈計算式〉

統計ログ量=7464×(↓a÷b↓+統計情報出力時間中のpdstjsyncコマンド実行回数) (単位:バイト)

a:統計ログ出力時間(単位:秒)

統計情報出力終了時刻−統計情報出力開始時刻

b:統計情報出力間隔(単位:秒)

pdstbeginオペランド又はpdstbeginコマンドの-Iオプションで指定した時間間隔です。

pd_statisticsオペランドにAを指定した場合は60となります。

●-D everyfileを指定する場合

〈計算式〉

統計ログ量=

[図データ]

                        (単位:バイト)

a:統計ログ出力時間(単位:秒)

統計情報出力終了時刻−統計情報出力開始時刻

b:統計情報出力間隔(単位:秒)

pdstbeginオペランド又はpdstbeginコマンドの-Iオプションで指定した時間間隔です。

c:↓a÷b↓+統計情報出力時間中のpdstjsyncコマンド実行回数(統計ログ取得回数)

d:各統計情報出力契機間※1に入出力が発生するRDエリア※2を構成するHiRDBファイル数

注※1
  • 統計情報出力間隔経過時

  • 統計情報出力時間中のpdstjsyncコマンド実行時

注※2

pdstbeginオペランド又はpdstbeginコマンドに-sオプションを指定した場合は,統計情報出力対象サーバが管理するRDエリアです。