11.4.7 I/O処理時間監視
I/O処理時間監視では,トランザクション処理でのTP1EEファイルシステムのI/O処理時間を監視します。トランザクション処理ではない場合のTP1/EE開始時および終了時のI/O処理は監視しません。
TP1EEファイルシステムのI/O処理監視時間は,ファイルサービス関連定義のfil_watch_timeオペランドで指定します。fil_watch_timeオペランドに指定した時間を超えた場合,TP1/EEは,ファイルサービス関連定義のfil_watch_timeoutオペランドの指定に従って動作します。
なお,TP1/EEのトランザクションに関する時間監視の詳細については,「付録C トランザクションの時間監視」を参照してください。
- 〈この項の構成〉
(1) I/O処理時間監視での監視範囲
I/O処理時間監視での監視範囲は,トランザクション処理でのTP1EEファイルシステムへのI/O処理時間,およびI/O処理の待ち時間を監視します。I/O処理の待ち時間とは,ほかのトランザクションが処理しているTP1EEファイルシステムへのI/O処理が完了するのを待つ時間のことです。
I/O処理時間監視の監視範囲を次の図に示します。
|
図中のtについて次に説明します。
- t1:fil_watch_time(TP1EEファイルシステムのI/O処理監視時間)
-
UAP1のトランザクション処理でのTP1EEファイルシステムへのI/O処理時間を監視します。
- t2:fil_watch_time(TP1EEファイルシステムのI/O処理監視時間)
-
UAP2ではI/O処理の待ち時間が発生するため,トランザクション処理でのTP1EEファイルシステムへのI/O処理時間とI/O処理の待ち時間を監視します。
(2) トランザクション処理とI/O処理の監視範囲,およびステータスファイルの排他範囲
トランザクション処理とI/O処理の監視範囲,およびステータスファイルの排他範囲を次の図に示します。
|
図中のtについて次に説明します。
- t1:trn_expiration_time,trn_expiration_time_**またはservice_attr(トランザクション処理監視時間)
-
トランザクションブランチの開始から,同期点処理の終了までの経過時間を監視します。監視対象区間は,t1_1,t1_2,t1_3,およびt1_4で示す区間を合計したものです。
- t2:fil_watch_time(TP1EEファイルシステムのI/O処理監視時間)
-
TP1EEファイルシステムへのI/O処理(読み込み処理および書き込み処理)を開始してから完了するまでの経過時間を監視します。
- 注※
-
**には,小文字のトランザクション種別が入ります。
(3) トランザクション処理でのTP1EEファイルシステムへのI/O
ファイルサービス関連定義のfil_watch_timeオペランドを指定するときに考慮する,トランザクション処理でのTP1EEファイルシステムへのI/O回数と,I/Oサイズについて説明します。
(a) TP1EEファイルシステムへのI/O回数
正常なトランザクションの場合,1トランザクション当たりのTP1EEファイルシステムへのI/O処理回数は,次の表に示す回数が目安となります。
項番 |
同期点処理の方法 |
I/O処理の回数 |
---|---|---|
1 |
1相最適化をするトランザクション |
4〜6 |
2 |
2相コミットをする場合の,親トランザクションブランチ |
8〜12 |
3 |
2相コミットをする場合の,子トランザクションブランチ |
10〜15 |
4 |
スワップが発生した場合のトランザクション(スワップ処理部分だけ)※1 |
次に示す計算式で求めます。 (7+↑a/b↑×3)×c |
5 |
別トランザクションによるRPC同期応答機能(ee_rpc_reply_suspend関数)を使用したトランザクション※2 |
RPC関連定義のrpc_reply_suspend_recoverオペランドにNを指定した場合:2〜3 RPC関連定義のrpc_reply_suspend_recoverオペランドにNを指定しない場合:4〜6 |
6 |
別トランザクションによるRPC同期応答機能(ee_rpc_reply_send関数)を使用したトランザクション※2 |
RPC関連定義のrpc_reply_suspend_recoverオペランドにNを指定した場合:0 RPC関連定義のrpc_reply_suspend_recoverオペランドにNを指定しない場合:2〜3 |
- (凡例)
-
a:eestsinitコマンドの-cオプションの指定値です。
b:ステータスファイル関連定義のsts_buffer_countオペランドの指定値です。
c:同じファイルグループ番号を,ステータスファイル関連定義のstsflgrp定義コマンドの-gオプションに指定した個数から,1を引いた値です。スワップ先でのI/O処理中に障害が発生しない場合,cは1となります。
↑↑:小数点以下を切り上げます。
- 注※1
-
スワップ処理以外のI/O処理の回数については,項番1〜3を参照してください。
- 注※2
-
項番1〜3の回数に加算してください。
なお,ステータスファイル関連定義のsts_buffer_countオペランドで確保したバッファ内に前回の書き込み要求の情報が残っている場合,読み込み要求が不要となり,I/O処理回数を削減できます。例えば,1相最適化をするトランザクションであれば,I/O処理回数は4回となります。トランザクション制御機能が使用する情報がすべてバッファ内に納まるように,sts_buffer_countオペランドを指定することをお勧めします。
(b) TP1EEファイルシステムへのI/Oサイズ
トランザクション処理でのTP1EEファイルシステムへのI/Oサイズは,スワップが発生したときに最大となります。最大I/Oサイズは,次の表に示すサイズが目安となります。
条件 |
最大I/Oサイズ(単位:バイト) |
---|---|
OSがLinuxの場合に,キャラクタ型スペシャルファイルまたはブロック型スペシャルファイルを使用している |
65536 |
a×c≧a×b |
a×b |
a×c<a×b |
a×c |
- (凡例)
-
a:eestsinitコマンドの-sオプションの指定値です。
b:eestsinitコマンドの-cオプションの指定値です。
c:ステータスファイル関連定義のsts_buffer_countオペランドの指定値です。