Oracle® Enterprise Manager System Monitoring Plug-inユーザーズ・ガイドfor Oracle TimesTen In-Memory Database リリース12.1.0.2.0 B71925-03 |
|
![]() 前 |
![]() 次 |
この章ではTimesTenパフォーマンス・ページについて説明します。パフォーマンス・ページには、TimesTenターゲット用にカスタマイズされたパフォーマンス固有の情報が表示されます。
内容は次のとおりです。
パフォーマンス・ページを表示するには、TimesTenターゲット・ページを開いていることを確認します。TimesTenターゲット・ページへの移動については、「TimesTenターゲット・ページへの移動」を参照してください。
「TimesTen IMDB」メニューから「パフォーマンス」を選択します。
図4-1は、ご使用のTimesTenターゲット用にカスタマイズされた、パフォーマンス固有の7つの領域を示しています。特定のタブをクリックすると、詳しいパフォーマンス情報が表示されます。
各領域の説明を次に示します。
接続ページでは、データベースの接続と切断に関する情報を表示できます。このページは次の2つのリージョンに分かれています。
接続と切断の比率」リージョンでは、1分当たりの接続と切断の比率が折れ線グラフを使用して表示されます。
X軸は時間を表します。Y軸は1分当たりの接続と切断の比率を表します。これらの比率は、アプリケーションによるすべての接続と切断および構成データとパフォーマンス・データを収集するためにTimesTenプラグインにより作成された接続を表します。
接続と切断の比率が高い場合は、そうした高い比率の理由を調査します。接続プールを実行するためにアプリケーションの変更を検討することもあります。
文ページではSQL文の実行率を比較および確認できます。このページは次の5つのリージョンに分かれています。
「書込み率」リージョンでは1秒間に実行されたINSERT
、UPDATE
およびDELETE
文の割合が、折れ線グラフを使用して表示されます。
「実行率に対する準備率の割合」リージョンでは実行中の文の全体的なパフォーマンスが折れ線グラフを使用して表示されます。
SQL文が毎回の実行ごとに準備された場合、実行に対する準備の比率は値1.0と等しくなります。この種の比率はパフォーマンスに影響します。SQL文の準備ではCPUの負荷が高くなります。SQL文が準備される回数が最小限になるように努めてください。アプリケーションではバインド変数の使用を検討してください。SQL文を一度準備して、その後に何回も実行できます。
1.0未満の値は、実行回数が準備回数よりも多いことを意味しています。これは、実行されている文がすでにSQLコマンド・キャッシュにあり、すでに準備されているということです。こうすることで、文の実行に必要な作業が少なくなります。
サマリー・リージョンには、TimesTenターゲットがメモリーにロードされた以降に実行された文の総数が表示されます。
詳細リージョンでは円グラフを使用して文の各タイプ(SELECT
文、UPDATE
文、MERGE
文、DELETE
文など)に分類し、文のそれぞれのタイプについて、TimesTenターゲットがメモリーにロードされた以降に実行された文の総数に対する実行数を示します。
ワークロード・ページはTimesTenターゲットのワークロードを示します。このページは次の2つのリージョンに分かれています。
読取りワークロード・リージョンには、1分間に削除、挿入および更新された表の行数が折れ線グラフを使用して表示されます。
TimesTenデータベースのすべてのデータベースおよびオペレーティング・システムの統計を収集する機能を有効にすると、書込みワークロード・リージョンに値が移入されます。すべてのデータベースおよびオペレーティング・システムの統計をTimesTenが収集できるようにするには、StatsLevel
パラメータをALL
に設定してttStatsConfig
組込みプロシージャを実行します。
call ttStatsConfig('StatsLevel','ALL');
ttStatsConfig
組込みプロシージャ詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttStatsConfigに関する説明を参照してください。
読取りワークロード・リージョンには、1分間に読み取られた表の行数が折れ線グラフを使用して表示されます。
TimesTenデータベースのすべてのデータベースおよびオペレーティング・システムの統計を収集する機能を有効にすると、読取りワークロード・リージョンに値が移入されます。すべてのデータベースおよびオペレーティング・システムの統計をTimesTenが収集できるようにするには、StatsLevel
パラメータをALL
に設定してttStatsConfig
組込みプロシージャを実行します。
call ttStatsConfig('StatsLevel','ALL');
ttStatsConfig
組込みプロシージャ詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttStatsConfigに関する説明を参照してください。
「準備回数と再準備回数」リージョンには、1分間に準備されたコマンド数および1分間に再準備されたコマンド数が、折れ線グラフを使用して表示されます。1分当たりに再準備されたコマンド数が多い場合は、複数の無効化が発生していることを示しています。これはパフォーマンスの低下を招きます。
ご使用のアプリケーションでバインド変数の使用を検討し、SQL文は一度準備してください。その後にそのSQL文を何回も実行できます。こうすることで、1分間に準備されるコマンド数はゼロに近づくはずです。
集計リージョンではTimesTenターゲットがメモリーにロードされた以降の全表スキャンの回数が表示されます。全表スキャンはリソースを消費し、実行に相当の時間がかかる場合があるため、この回数は少なくする必要があります。
「コミットとロールバック」リージョンでは、永続的にコミットされたトランザクション、コミットされたトランザクションおよびロールバック間の関係が折れ線グラフを使用して表示されます。
X軸は時間を表します。Y軸は、1秒当たりに永続的にコミットされたトランザクション、非永続的にコミットされたトランザクションおよびロールバックされたトランザクションの比率を示しています。
ロック・ページにはTimesTenターゲットの同時操作に関する情報が表示されます。このページは次の2つの副タブに分かれています。
ロック・パフォーマンス副タブには、TimesTenターゲットのロックおよび同時操作のパフォーマンスに関連した情報が表示されます。この副タブは次の3つのリージョンに分かれています。
「ロックとデッドロック」リージョンでは1分当たりのデッドロックおよび1分当たりのロックの比率が、折れ線グラフを使用して表示されます。
デッドロック率はできるだけ低くする必要があります。デッドロック率が低くならない、または増加する場合は、アプリケーションがリソースを得る手段を確認します。デッドロック率がゼロ(0)よりも大きい場合は、「トランザクション監視」を確認します。
1分当たりのロックのタイムアウト回数は少なくする必要があります。1分当たりのロックのタイムアウト回数が多い場合は、同じリソースに対する競合があることを示しています。ロックのタイムアウトの原因を見つけるには、「トランザクション監視」を確認します。
「ロックの許可」リージョンでは、1分当たりのロックの許可件数が折れ線グラフを使用して表示されます。待機後に付与されたロックの比率は低くなっている必要があります(この比率が低いことは、ロックが定時に取得されたことを示しています)。この比率はゼロになるのが理想です。
「待機なしで取得されたロックの比率」では、1分当たりの即時許可の比率を1分当たりの許可の合計比率で割った値が、折れ線グラフを使用して表示されます。このパーセンテージは100%に近くなる必要があります(100%はロックが待機なしで取得されることを示します)。このグラフはTimesTenターゲットでのロックの競合と同時性を確認するための良い指標となります。
トランザクション監視ではTimesTenデータベースの現行トランザクションのスナップショットが表示され、トランザクションに関する説明が提供されます。トランザクション監視を使用して、トランザクションがどのように処理されるかを確認します。ご使用のアプリケーションの動きが遅い場合は、アプリケーションでトランザクションがロックを取得する方法に問題がある可能性があります。ロックが解放されない、または解放に時間がかかりすぎる場合、アプリケーションの応答性が低下します。トランザクション監視により、処理に時間がかかりすぎるトランザクションを特定できます。
トランザクション監視を使用する前に、TimesTenに対して優先資格証明が設定されていることを確認します。優先資格証明の設定の詳細は、「ターゲットの優先資格証明の設定」を参照してください。
「トランザクション監視」副タブは次の4つのリージョンに分かれています。
リフレッシュ・モードではトランザクション監視をリフレッシュする方法を制御できます。
手動
トランザクション開始は手動モードで開始されます。トランザクション監視レポートをリフレッシュするには、「実行」をクリックします。
自動
自動モードでは、トランザクション監視をリフレッシュする頻度を選択できます。
自動リフレッシュ・モードを開始するには、次の手順を実行します。
「自動」の左にある円をクリックします。
「リフレッシュ間隔(秒)」フィールドで間隔を指定します。たとえば、間隔を「5」と指定した場合、トランザクション監視は5秒ごとにリフレッシュされます。
「実行」をクリックします。
自動リフレッシュ・モードが一度アクティブになると、「実行」ボタンに代わって「停止」ボタンが表示されます。
アクティブなトランザクションがない場合は、自動リフレッシュ・モードを停止することが有用である可能性があります。自動リフレッシュ・モードを停止するには、「トランザクションがないときには停止」の左のボックスをクリックします。
自動モードの実行中はリフレッシュ間隔を変更できません。まず自動リフレッシュ・モードを停止します。
自動リフレッシュ・モードを停止するには、次の手順を実行します。
「停止」をクリックします。
自動リフレッシュ・モードが停止し、リフレッシュ間隔の変更とリフレッシュ・モードの手動への切替えができるようになります。
「未処理のロック数」リージョンでは、データベースでロックを保持している現行トランザクションが表示されます。
トランザクションをクリックして、そのトランザクションおよびそのトランザクションに関連したロックに関する詳細情報を確認します。
選択したトランザクションのロック情報は「ロックの詳細」リージョンに表示されます。
「ロックの詳細」リージョンには、選択したトランザクションのロックに関する情報が表示されます。
「ロックの詳細」リージョンに表示されるロック数は少ない状態である必要があります。表示されるロック数が多い場合は、アプリケーションがロックを取得する方法を確認します。
「SQLテキスト」列のテキストをクリックすることもできます。クリックした場合は、SQL問合せが表示された「完全なSQLテキスト」ダイアログが開きます。ロックを保持しているSQLを知るために、SQL問合せを確認します。
ロックとトランザクションの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「ttXactAdmin」を参照してください。
「待機中ロック」リージョンでは、同じロック・リソースに対して競合するトランザクションが表示されます。
「待機中ロック」リージョンに表示されるロック数は少ない状態である必要があります。ユーザー入力などのイベントを待機中のロックは表に表示されません。トランザクション監視を複数回実行しても解消されないトランザクションがある場合は、ロックを確認します。トランザクションに対する強制的なコミットまたはロールバックが必要な場合があります。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「ttXactAdmin」を参照してください。
また、「ホルダーSQLテキスト」列のテキストをクリックすることもできます。クリックした場合は、ロックを待機中のSQL問合せとロックを保持しているSQL問合せの両方が表示された「完全なSQLテキスト」ダイアログが開きます。
ロックとトランザクションの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「ttXactAdmin」を参照してください。
「トランザクション・ログ」ページには、ログの保持に関する情報とログ保持のパフォーマンスが表示されます。このページは2つの副タブに分かれています。
ログの保持ページには、TimesTenターゲットで実行中のさまざまな操作について保持されているログのレポートが表示されます。このような操作にはトランザクション、チェックポイント、レプリケーションなどがあります。「ログの保持」副タブは次の2つのリージョンに分かれています。
「ログの保持」表には、ttLogHolds
組込みプロシージャと同じ列および同じ値が入っています。ttLogHolds
の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttLogHoldsに関する説明を参照してください。この表を使用して、ログ・バッファに依存する操作の程度を監視します。
「ログ・パフォーマンス」ページではログ・バッファのパフォーマンスを確認できます。「ログ・パフォーマンス」副タブは次の3つのリージョンに分かれています。
「ログの読取り回数とログのフラッシュ回数」リージョンでは、1分当たりのファイル・システムからのログ読取り回数と1分当たりのファイル・システムへのログ・フラッシュ回数が、折れ線グラフを使用して表示されます。ログの読取り回数もログのフラッシュ回数も少ない状態である必要があります。ファイル・システムからのログの読取り回数の率がゼロではないということは、レスポンス時間の低下につながります。メモリーからのログ・レコードの読取りははるかに速いため、すべてのログ・レコードがディスクからではなくメモリー(ログ・バッファ)から読み取られることが理想的です。
ファイル・システムへのログ・フラッシュが高率であることは、より大きなログ・バッファが必要であるか、またはチェックポイント、レプリケーション、XLAなどの操作の実行が遅く、ログ・バッファがディスクに残ってしまうことを示している場合があります。
ログ・バッファ待機(秒)リージョンでは、ログ・ファイルを使用する操作の実行状況を確認できます。この値は0である必要があります。ゼロ以外の値は、ログ・バッファへの書込み前にトランザクションが待機する必要があったことを示します。
チェックポイント・ページには、チェックポイント操作に関連する累積値のチェックポイントの履歴およびサマリーが表示されます。このページは次の2つのリージョンに分かれています。
「チェックポイントの履歴」表には、24時間以内のチェックポイントの履歴が表示されます。IDは、チェックポイントの一意の数値IDです。IDはデータベースが存続している間、単純に増加します。データベースを破棄した場合、IDはリセットされます。データベースは破棄するが、Enterprise Managerでターゲットを維持する場合は、破棄されたデータベースと新しいデータベースの両方のチェックポイントが混ざって表示されます。新しいデータベースのIDの値は小さな場合が多く、表の一番下に表示されます。新しいデータベースのIDを表の上部に表示する場合は、「開始時間」でソートします。
「タイプ」の有効な値は、「静的」、「ブロック中」、「ファジー」または「なし」です。「開始者」の有効な値は、「ユーザー」、「チェックポインタ」または「サブデーモン」です。「使用済ブロック」列の値は、書き込まれた使用済ブロックの数です。これらのブロックは、最後のチェックポイント以降に変更されたブロックです。「率」列の値は、1秒当たりに書き込まれる容量です(メガバイト単位)。「ステータス」列の有効な値は「進行状況」、「完了」または「失敗」です。
TimesTenプラグインは、10秒ごとにTimesTenターゲットをポーリングし、最新の8つのチェックポイントを確認します。10分の間隔にチェックポイントが9つ以上ある場合は、最新の8つのチェックポイントのみが表示されます。列ヘッダーをクリックすると開始時間でチェックポイントをソートできます。
最新の8つのチェックポイントの平均チェックポイント・ボリュームは、表の末尾に記載されます。このボリュームはメガバイト単位で表されます。