Hitachi

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


9.2.31 統計情報に関するオペランド

◆ pd_statistics = A|Y|N
  • 0904互換モードの場合:《N》

HiRDBの開始時から統計ログを取得するかどうかを指定します。

A:HiRDBの開始時から「システムの稼働に関する統計情報(出力間隔1分)」,「グローバルバッファに関する統計情報」,「デファードライト処理に関する統計情報」「データベースの入出力に関する統計情報(出力間隔1分)」を取得します。取得される統計情報は,pdstbeginコマンド -k sys,buf,dfw,dio -m 1 -I 60相当となります。

Y:HiRDBの開始時から「システムの稼働に関する統計情報(出力間隔10分)」を取得します。取得される統計情報は,pdstbeginコマンド -k sys -m 10相当となります。

N:HiRDBの開始時から統計ログを取得しません。

Yを指定した場合,取得する統計ログはユニット全体のシステムの稼働に関する統計情報だけです。サーバ別の情報,又はシステムの稼働に関する統計情報以外の情報が必要なときは,HiRDBの開始完了後に一度pdstendコマンドで統計情報取得を停止し,改めてpdstbeginコマンドで統計情報取得を開始する必要があります。

なお,Nを指定した場合でも,pdstbeginコマンドを入力すれば,HiRDBの稼働中に統計ログを取得できます。

また,次の条件を満たす場合,統計情報を取得する設定をしても統計情報は取得されません。

  • 影響分散スタンバイレス型系切り替え機能を使用したユニットでpd_statisticsにYを指定した場合(pd_statisticがAの場合は取得されます)

  • 影響分散スタンバイレス型系切り替え機能を使用したユニットでユニット内に起動しているサーバがない場合

  • ユニット内のサーバをすべて正常停止した場合

  • HiRDB/パラレルサーバでシステムマネジャだけのユニットの場合(同じユニットにフロントエンドサーバ,バックエンドサーバ,又はディクショナリサーバがない)

  • ログ同期方式のリアルタイムSANレプリケーションを使用している,ログ適用サイトの場合

《指定値の目安》

性能に関するチューニングをする際に,速やかに原因を切り分けられるようにするため,Aの指定を推奨します。

《注意事項》

pdstbeginとpd_statisticsを両方指定した場合,pd_statisticsの設定が無効になります。pd_statisticsの設定に従って統計情報を取得する場合,pdstbeginは設定しないでください。

◆ pd_stj_file_size = 統計ログファイルの最大容量

〜<符号なし整数>((64〜1000000))《102400》(単位:キロバイト)

  • 0904互換モードの場合:《1024》

統計ログファイルの最大容量をキロバイト単位で指定します。統計ログファイルは二つあり,統計ログの出力量がここで指定した最大容量に達したときに統計ログファイルをスワップします。

《指定値の目安》
  • このオペランドの指定値の見積もり方法については,「統計ログファイル(pd_stj_file_size)の見積もり式」を参照してください。

  • pd_stj_buff_sizeオペランドとの間に次に示す関係が保たれるように指定してください。

    pd_stj_file_size≧pd_stj_buff_size×2

◆ pd_stj_buff_size = 統計ログバッファ長

〜<符号なし整数>((32〜512))《32》(単位:キロバイト)

統計ログバッファの大きさを指定します。

《指定値の目安》

次に示す条件によって指定値の目安が異なります。なお,複数の条件に該当する場合は,各計算式で算出した値のうち大きい方の値を指定してください。

  1. pdstbeginコマンドの-kオプションにpcd,又はobjを指定する場合

    pcd,objそれぞれの統計ログ出力量を次に示す計算式で算出し,算出値の合計に32を加えた値を指定してください。ただし,この計算式で算出した値が512を超える場合は512を指定してください。

     (a÷1024)×(0.03÷b)

    a:統計ログ出力量(バイト)

    統計ログファイル(pd_stj_file_size)の見積もり式」を参照してください。

    b:pdstendコマンド入力時刻−pdstbegin入力時刻(秒)

  2. pdstbeginコマンドの-kオプションにdio,-Dオプションにeveryfileを指定する場合

    次に示す計算式で算出した値に32を加えた値を指定してください。

     {(a×104)+(↑a÷16↑×204)}÷1024÷b×60

    a:ユニット内の出力対象サーバが管理するRDエリア構成ファイル数の合計

    b:pdstbeginコマンドの-Iオプションに指定した出力時間間隔

    ただし,この計算式で算出した値が512を超える場合は,pdstbeginコマンドの-Dオプションにeveryfileの指定を行わないでください。

  3. 1.と2.のどちらにも該当しない場合

    省略値の32を指定してください。

◆ pd_sqlobject_stat_timing = deallocate|tran

SQLオブジェクト用バッファの統計情報を取得するタイミングを指定します。統計情報を取得するタイミングと取得対象となる統計情報を次の表に示します。

項番

統計情報を取得するタイミング

取得対象となる統計情報

deallocate

tran

1

次のSQL文を実行することで,前処理結果が無効になるとき

  • DEALLOCATE PREPARE文

  • PREPARE文

  • EXECUTE IMMEDIATE文

無効になる前処理結果

無効になる前処理結果

2

コミットしたとき

コミットによって無効になる前処理結果

すべての前処理結果

3

ロールバックしたとき

取得しない

すべての前処理結果

4

DISCONNECT文,RELEASE指定ありのCOMMIT文,定義系SQLを実行したとき

すべての前処理結果

すべての前処理結果

5

RELEASE指定ありのROLLBACK文を実行したとき

RELEASE指定ありのROLLBACK文を実行した時点で,ロールバックによって無効にならない前処理結果

すべての前処理結果

《指定値の目安》

次の場合は,tranを指定します。

  • ホールダブルカーソルや,JDBCドライバでSTATEMENT_COMMIT_BEHAVIORにTRUEを指定した場合など,前処理結果がトランザクションを超えて有効になる場合

  • ロールバック時にSQLオブジェクト用バッファの統計情報を取得したい場合

上記以外の場合は,deallocateを指定します。

《注意事項》
  • サーバプロセスのキャンセルに伴うトランザクション決着時は,統計情報を取得できません。

  • ホールダブルカーソルや,JDBCドライバでSTATEMENT_COMMIT_BEHAVIORにTRUEを指定した場合は,前処理結果はトランザクションを超えても有効です。そのため,このオペランドにdeallocateを指定した場合は,トランザクションが決着してもこれらのSQLオブジェクト用バッファの統計情報を取得できません。

  • ホールダブルカーソルや,JDBCドライバでSTATEMENT_COMMIT_BEHAVIORにTRUEを指定した場合は,そのカーソルが閉じている場合だけSQLオブジェクト用バッファの統計情報を取得できます。

ホールダブルカーソル,及びSTATEMENT_COMMIT_BEHAVIORについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。

◆ pdstbegin
●HiRDB/シングルサーバの場合のオペランド指定形式
pdstbegin 〔-k 統計情報種別〔,統計情報種別〕…〕
       〔-m システム稼働統計情報出力時間間隔〕
       〔-I データベースの入出力統計情報出力時間間隔〕
       〔-D データベースの入出力統計情報オプション
        〔,データベースの入出力統計情報オプション〕〕
       〔-w〕
●HiRDB/パラレルサーバの場合のオペランド指定形式
pdstbegin 〔-k 統計情報種別〔,統計情報種別〕…〕
       〔-m システム稼働統計情報出力時間間隔〕
       〔-I データベースの入出力統計情報出力時間間隔〕
       〔-D データベースの入出力統計情報オプション
        〔,データベースの入出力統計情報オプション〕〕
       〔{-x ホスト名|-u ユニット識別子}〕
       〔{-a|-s サーバ名〔,サーバ名〕…}〕
       〔-w〕

HiRDBの開始時から統計情報を取得する場合に指定します。統計情報の出力を中止するときはpdstendコマンドを実行してください。出力先ファイルは統計ログファイルになります。

-k 統計情報種別〔,統計情報種別〕…

〜≪sys≫

出力する統計情報の種別を指定します。なお,統計情報の出力種別の指定状況は,pdls -d stjコマンドで確認できます。

統計情報の種類(-kオプションの指定)

出力する統計情報の種類

統計情報の出力契機

sys

システムの稼働に関する統計情報

-mオプションに指定した時間間隔ごとに統計情報を出力します。

uap

UAPに関する統計情報

HiRDBへの接続時及びHiRDBからの切り離し時に統計情報を出力します。

sql

SQLに関する統計情報

SQLの実行開始時及びSQLの実行終了時に統計情報を出力します。

buf

グローバルバッファに関する統計情報※1

シンクポイント時に統計情報を出力します。

fil

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

dfw

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

idx

インデクスに関する統計情報

sop

SQL静的最適化に関する統計情報

動的SQLの前処理時,及び静的SQLの前処理時に,SQLオブジェクトバッファにヒットしなかった場合に統計情報を出力します。

dop

SQL動的最適化に関する統計情報

FETCH文及びCLOSE文以外のSQL文を実行したときに統計情報を出力します。

pcd

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

SQLオブジェクトの実行時に統計情報を出力します。

sqh

SQL文の履歴に関する統計情報※2

PREPARE時,及び埋込み型SQL文の実行時に統計情報を出力します。

obj

SQLオブジェクト転送に関する統計情報※3

SQLオブジェクトの実行時に統計情報を出力します。

dio

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

-Iオプションに指定した時間間隔(秒)ごとにデータベースへの入出力の情報を出力します。

注※1

これらの統計情報はシンクポイント時に取得され,シンクポイント間の情報が編集されます。このため,シンクポイントが2回以上発生しないと統計情報が取得されません。これらの統計情報を確実に取得するためには,pdstendコマンド実行直前に,pdlogswap又はpdlogsyncコマンドを実行してシンクポイントを発生させてください。

注※2

SQL文の履歴に関する統計情報は,SQLに関する統計情報(sql指定)を出力している場合に出力されます。

注※3

HiRDB/パラレルサーバ限定の統計情報です。HiRDB/シングルサーバの場合は出力しません。

-m システム稼働統計情報出力時間間隔

〜<符号なし整数> (( 1〜1440 )) ≪10≫(単位:分)

このオプションは「システムの稼働に関する統計情報」を取得する場合(-kオプションでsysを指定した場合)に指定します。

「システムの稼働に関する統計情報」を統計ログファイルに出力する間隔を分単位で指定します。

-I データベースの入出力統計情報出力時間間隔

〜<符号なし整数> (( 10〜3600 )) ≪60≫(単位:秒)

このオプションは「データベースの入出力に関する統計情報」を取得する場合(-kオプションでdioを指定した場合)に指定します。

「データベースの入出力に関する統計情報」を統計ログファイルに出力する時間間隔を秒単位で指定します。

指定時間間隔内にデータベースへの入出力が1回も発生しなかった場合は,統計ログファイルを出力しません。

-kオプションにdioの指定がない場合は,このオプションを無視します。

-D データベースの入出力統計情報オプション

〔,データベースの入出力統計情報オプション〕

データベースの入出力に関する統計情報の計測動作を制御するオプションです。-kオプションにdioの指定がない場合は,このオプションを無視します。

このオプションでは,次の項目を制御できます。

  • 入出力時間の計測頻度

  • 統計情報の出力量

各項目に対応するオプション値指定有無による動作差異を次の表に示します。

表9‒7 入出力時間の計測頻度

指定値

動作

メリット

デメリット

指定なし

RDエリアを構成する各HiRDBファイルに発生した入力と出力に対して,それぞれ発生順に秒間100回の入出力時間を計測します。

性能影響を最小限に抑えられます。

RDエリアを構成する各HiRDBファイルに発生した入力と出力に対して,それぞれ秒間101回目以降については入出力時間を計測しません。

everyio

RDエリアを構成するHiRDBファイルに発生した入出力に対して,すべての入出力時間を計測します。

入出力情報を漏れなく取得できます。

入出力時間計測のオーバヘッドによって,トランザクション性能が劣化します。

everyio指定時は,RDエリアを構成するHiRDBファイルに発生した入出力に対して,すべての入出力時間を計測するため,オーバヘッドが増加します。事前にテストをして,本番業務に性能上問題がないと判断した場合だけ指定してください。

表9‒8 統計情報の出力量

指定値

動作

メリット

デメリット

指定なし

  • 出力時間間隔内にアクセスのあったRDエリアを構成するHiRDBファイルの入出力情報のうち,統計情報として取得する次の項目ごとに,それぞれのユニットで上位10ファイルの情報を統計ログに出力します。

    ・read最大回数

    ・read最大時間

    ・read合計時間

    ・write最大回数

    ・write最大時間

    ・write合計時間

  • 同じファイルが複数の項目で出力対象になった場合,重複排除しないで出力します。

  • 同順となるレコードが複数あり,10件を超える場合は,次に示す順序が早いものを優先します。

    1. RDエリア定義順

    2. HiRDBファイル指定順

1回の出力契機の統計ログサイズが固定であるため,ディスク消費量が少なく,統計ログバッファのスワップ処理多発による性能への影響が少なくなります。

それぞれのユニットで上位10ファイルの情報しか出力しないため,RDエリアを構成するHiRDBファイルすべての入出力の情報は取得できません。

everyfile

出力時間間隔内にアクセスのあったRDエリアを構成するHiRDBファイルの入出力情報をすべて出力します。

RDエリアを構成するHiRDBファイルすべての入出力を取得できます。

1回の出力契機の統計ログサイズが固定でないため,ディスク消費量が多く,統計ログバッファのスワップ処理多発による性能への影響が大きくなります。

everyfile指定時は,1回の出力契機での統計ログの出力量が固定ではありません。「システム共通定義のpd_stj_file_sizeオペランド」には,「統計ログファイル(pd_stj_file_size)の見積もり式」で見積もった値を指定してください。

システム共通定義のpd_stj_buff_sizeオペランド」には,このオペランドで示す見積もり式で見積もった値を指定してください。

-x ホスト名

〜<ホスト名> (( 1〜32文字))

HiRDB/パラレルサーバの場合に,統計情報の出力対象となるユニットを限定するとき,pdunitオペランドの-xオプションに指定したホスト名を指定します。統計情報の出力対象となるユニットのホスト名を指定してください。

このユニットに影響分散スタンバイレス型系切り替えを適用している場合は受け入れ中のゲストBESの統計情報も出力します。

-u ユニット識別子

〜<識別子> (( 4文字))

HiRDB/パラレルサーバのときに,統計情報の出力対象となるユニットを限定する場合に指定します。統計情報の出力対象となるユニットのユニット名を指定します。

このホスト上のユニットに影響分散スタンバイレス型系切り替えを適用している場合は受け入れ中のゲストBESの統計情報も出力します。

-a

HiRDB/パラレルサーバのときに,統計情報の出力対象となるサーバを限定しない場合に指定します。このオプションを指定すると,全サーバが統計情報の出力対象となります。

-s サーバ名〔,サーバ名〕…

〜<識別子> (( 1〜8文字 ))

HiRDB/パラレルサーバのときに,統計情報の出力対象となるサーバを限定する場合に指定します。統計情報の出力対象となるサーバのサーバ名を指定します。

サーバの種類によっては統計情報の出力対象にならない場合があります。統計情報を出力するサーバの種類を次に示します。

統計情報の種類

(-kオプションの指定)

サーバの種類

FES

DS

BES

sys

uap

×

×

sql

×

×

buf

×

fil

×

dfw

×

idx

×

sop

×

×

dop

×

×

pcd

sqh

×

×

obj

×

dio

×

(凡例)

  ○:統計情報を出力します。

  ×:統計情報を出力しません。

-w

スレッド間ロック待ち時間の統計情報を出力する場合に指定します。ただし,このオプションはシステムの稼働に関する統計情報を出力する場合に有効となります。そのため,スレッド間ロック待ち時間の統計情報を取得できるのは,-kオプションの指定を省略,又は-kオプションにsysを含む指定をする場合です。

なお,このオプションを指定すると,システム全体の性能に影響を与えることがあるため,通常は指定しないでください。

《指定値の目安》
  • pd_statisticsオペランドにAを指定,又は省略値としてAが仮定されている場合(推奨モード)は,設定不要です。pd_statisticsオペランドがAの場合に取得する統計情報を次に示します。

    ・システムの稼働に関する統計情報(1分間隔)

    ・グローバルバッファプールに関する統計情報

    ・デファードライト処理に関する統計情報

    ・データベースの入出力に関する統計情報

    なお,上記以外の統計情報も取得する場合は,上記の統計情報と追加取得する統計情報の指定を推奨します。

    (指定例)

    UAPに関する統計情報を追加取得する場合の指定例を次に示します。

     pdstbegin -k sys,buf,dfw,dio,uap -m 1

  • pd_statisticsオペランドにYを指定,又はN指定若しくは省略値としてNが仮定されている場合(互換モード)は,次に示す統計情報を取得する指定を推奨します。

    ・システムの稼働に関する統計情報(1分間隔)

    ・グローバルバッファプールに関する統計情報

    ・デファードライト処理に関する統計情報

    ・データベースの入出力に関する統計情報

    (指定例)

     pdstbegin -k sys,buf,dfw,dio -m 1

《ほかのオペランドとの関連》
  • このオペランドは,pd_stj_file_sizeと関連があります。

  • このオペランドを指定すると,pd_statisticsオペランドの指定は無視されます。

《注意事項》
  • pdstbeginオペランドは一つだけ指定できます。二つ以上指定した場合は一つ目の指定が有効になり,二つ目以降は無視されます。

  • pdstbeginオペランドを指定した場合は,pdstendコマンドを入力しないと,HiRDBを終了するまで統計情報が出力されます。

  • 1:1スタンバイレス型系切り替え機能を使用している場合で,代替BESユニットに系を切り替えるときはこのオペランドの指定が無効になります。

  • 影響分散スタンバイレス型系切り替え機能を使用している場合の注意事項です。HiRDBの正常開始時,各サーバはこのオペランドの指定値に従います。HiRDBの再開始時(系切り替えを含む)はこのオペランドの指定値が無効になります。再開始時は前回の統計情報の取得状態を引き継ぎます。系の切り替え時は切り替え前の統計情報の取得状態を引き継ぎます。

  • ユニット内に開始しているサーバが存在しない場合は,ユニットの統計情報は取得されません。

  • ログ同期方式のリアルタイムSANレプリケーションを使用している場合,ログ適用サイトでは統計情報を取得できません。このオペランドを指定した場合,KFPS04689-Wメッセージが出力されます。

  • pdstbegin及びpdstendコマンドの入力タイミングによっては,UAPに関する統計情報とSQLに関する統計情報の取得情報が一致しないことがあります。pdstbegin及びpdstendコマンドの入力タイミングと出力される統計情報の関係を次に示します。

    [図データ]

  • HiRDB,ユニット,又はサーバを終了(異常終了を含む)して,その後,開始した場合,開始後に統計情報の取得状態が引き継がれないことがあります。pd_statisticsオペランド又はこのオペランドを指定することで,再開始又は系切り替え時に統計情報を取得し続けられます。HiRDB,ユニット,又はサーバ開始時の,統計情報の取得状態の引き継ぎ有無を次に示します。

    開始

    モード

    統計情報の取得環境

    開始条件

    HiRDB

    の開始

    ユニット単位の開始(ユニット単独開始)

    サーバ単位の開始(サーバ単独開始)

    影響分散スタンバイレス型系切り替え機能を使用していない場合

    影響分散スタンバイレス型系切り替え機能を使用している場合

    正常開始

    pdstbegin又はpd_statisticsオペランドを指定して統計情報を取得している場合

    ×

    pdstbeginコマンドを実行して統計情報を取得している場合

    ×

    ×

    ×

    ×

    再開始

    pdstbegin又はpd_statisticsオペランドを指定して統計情報を取得している場合

    pdstbeginコマンドを実行して統計情報を取得している場合

    ×

    ×

(凡例)

○:統計情報の取得状態を引き継ぎます。

△:統計情報の取得状態を引き継ぎます。pdstbeginコマンド実行時はコマンド指定の統計情報の取得状態を引き継ぎます。

×:統計情報の取得状態を引き継ぎません(統計情報を取得しない状態になります)。

−:該当しません。

注※

統計情報を取得する場合,HiRDBの開始後にpdstbeginコマンドを実行する必要があります。

◆ pdhibegin -k 履歴情報種別〔,履歴情報種別〕…

HiRDBの開始時から履歴情報を取得する場合に指定します。このオペランドを指定すると,HiRDBが終了するまで履歴情報を出力し続けます。出力先ファイルはシステムログファイルになります。

-k 履歴情報種別:

出力する履歴情報種別を指定します。

cnc:CONNECT/DISCONNECTに関する統計情報

HiRDB/パラレルサーバの場合,出力先ファイルはフロントエンドサーバのシステムログファイルになります。