1. TOP
  2. BLOG
  3. TECH ARTICLE:X-View活用のヒント
TECH ARTICLE

2024年09月17日

X-View活用のヒント

JENNIFERはトランザクションをモニタリングするX-Viewチャートを提供します。X-Viewで表示されている各点は、個別のトランザクションです。また、トランザクションデータをX-View上の点で選択すると、選択したトランザクションデータの詳細情報がポップアップされ、X-Viewトランザクション分析の画面が表示されます。
リアルタイムトランザクションのX-Viewは、[ダッシュボード ➡ システムアドミン]操作と[ダッシュボード ➡ X-View]操作で表示できます。過去のトランザクションのX-Viewは、[分析 ➡ X-View]操作で表示します。

1.リアルタイムトランザクションの状況

リアルタイムX-View経由で現時点に処理されたトランザクションの応答時間分布を確認できます。更に、Y軸基準変更とフィルタリング機能があります。

1.1 X-View(ダッシュボード)

X-View(ダッシュボード)は、ダッシュボード➡システムアドミンの操作で表示されます。

図1 ダッシュボード画面
図2 ダッシュボード画面(X-View)

図1で、赤いボックスで表示されたグラフが、X-Viewデータを表示するグラフです。[X]軸は、各アプリケーションのトランザクション終了時間を表します。[Y]軸は、各アプリケーションのトランザクション応答時間を意味します。
[ダッシュボード|X-View]を選択すると、図2のような拡大されたX-Viewグラフを見ることができます。

ヒント: Y軸基準変更
応答時間はトランザクション性能値の中で最も重要な要素であるため、デフォルトのY軸の表示基準は、応答時間に設定されています。
応答時間以外の性能値のトランザクション分布を確認する場合は、Y軸の基準を変更します。Y軸の表示基準は応答時間の他に、SQL時間、Fetch時間、外部呼び出し時間、CPU時間を選択できます。

ヒント: X-Viewグラフのデータ範囲の変更は、ショートカットキーを利用して簡単に操作できます。

表 1 X-Viewのショートカットキー

HotKey説明
矢印キー(上/下) Y軸の時間の調整
矢印キー(左/右)X軸の間隔の調整
+/-X軸の間隔の調整

以上の全てについてシフトキーを同時に押すと、調整幅が大きくなります。

1.2 X-Viewの使用

例えば、上のグラフで8秒台に実行されたトランザクションを知りたい場合、該当時間台のトランザクションをマウスで選択(ドラックして囲む)すると、下記の図3のように各トランザクションについての実行内訳を示す新しいウィンドウが開きます。新しく生成されたウィンドウは上位と下位の二つのセクションに区分され、上位のセクションは各トランザクションの実行アプリケーション統計情報を、下位のセクションは該当アプリケーションが実行されたトランザクション情報を表示します。

下位セクションは、上位セクションで選択された個別アプリケーションの詳細なトランザクション情報を表示します。初期値のままインストールした場合は、JSPリクエストの内容と実行中に使用したファイル、JDBCコネクション、終了情報(追加設定が必要な場合もあり)、及びクエリ実行内訳が実行段階別に表示されます。必要に応じて、サイトで使用中のフレームワーク又はビジネスクラス情報を追加で構成すると、ビジネスメソッド実行の内訳まで細かくモニタリングできます。このような情報は、障害診断と性能チューニングで役立ちます。

1.3 X-Viewのポップアップウィンドウ

X-Viewトランザクション分析のポップアップウィンドウを使用したトランザクション分析です(図2と図3を参照)。
X-View上の点を選択すると、X-Viewデータを確認できます。X-Viewデータは、トランザクションデータとプロファイルデータに分かれ、各データの詳細を確認できます。


図3 X-View:トランザクションの詳細情報

1.4 トランザクションリストエリア

X-Viewトランザクション分析のポップアップウィンドウの上段にあるテーブルに、選択した全てのトランザクションのリストが表示されます。テーブルのカラムにはトランザクションデータの値が表示され、カラム名をクリックすると該当カラムの値でソートされて配列できます。
例えば、SQL時間が遅いトランザクションをその順序で確認する場合は、SQL時間のカラムをクリックしてトランザクションを配列します。

  • エラー(図3を参照)
    エラータブにより、トランザクション処理中に発生した全てのエラーを確認できます。

1.5 個別トランザクション分析エリア

トランザクションリストで選択したトランザクションの詳細情報を、タイムライン分析、区間分析、エラー、スタックトレースタブで確認できます。

  • タイムラインチャート(図4と5を参照)
    タイムライン分析タブで選択したトランザクションのプロファイルデータを時系列順で分析できます。
    タイムライン分析チャートは、プロファイルデータをメソッド、SQL、外部呼び出しで分類し、時系列順に表示します。タイムライン分析チャートで、個別トランザクションの特徴を素早く確認できます。
  • 区間分析(図4を参照)
    区間分析タブで、トランザクションで実行された様々なプロファイルデータの区間毎の処理時間の割合を確認できます。どの区間でより長い応答時間だったかを一目で把握できます。区間は「Front-End」区間と「サーバ」区間から構成され、各区間を選択すると、該当区間で実行された情報を詳細に分析できます。
  • Front-End(図4を参照)
    該当トランザクションのFront-End時間をDOM、レンダリング(ブラウザ表示)、ネットワークの応答時間の割合で分析して、該当日付の同一アプリケーションの1日の応答時間を分析できます。(Front-Endデータの収集方法参照)
  • サーバ(図4を参照)
    サーバ上で実行されるメソッド、SQL、外部呼び出しを応答時間の割合で分析できます。メソッド、SQL、外部呼び出しをクリックすると、実行されたメソッドの種類毎の繰返し回数、トータル応答時間、平均応答時間を分析できます。
図4 X-View:トランザクションの詳細情報(区間分析チャート)
図5 X-View:トランザクションの詳細情報(タイムラインチャート)
  • タイムラインチャート(図5を参照)
    タイムラインチャート内の特定の区間をクリックすると、選択された区間のプロファイルデータがCall Treeとテキストで表示され、時間がかかるプロファイルデータを素早く識別できます。時間単位でどのような処理が実行されたかを一目で把握する場合はタイムラインチャートを使用します。
  • トランザクション単位の統計分析(メソッド、SQL、外部呼び出し)
    タイムラインのCall Treeとテキストが、個別プロファイルデータの表示に最適化されている一方、区間分析タブは、トランザクションで実行されたメソッド、SQL、外部呼び出しの統計情報の表示に最適化されています。
    例えば、「SELECT * FROM table」クエリが30msで300回実行された(合計9秒かかる)と仮定します。Call Treeとテキストにはプロファイルデータが発生順に表示されるため、「SELECT * FROM table」クエリが300回実行されたことを確かめるのは簡単ではありません。ただし、区間分析の場合、SQL統計データが提供されるため、このSQLがトランザクションで消費した時間(9秒)を素早く確認できます。

1.6 Call Treeとテキストエリア

トランザクションのプロファイルデータの詳細情報を確認できます(図6と図7を参照)。
Call Treeには、Call Tree型のプロファイルデータが表示されます。ユーザはCall Treeを使用して、プロファイル間の関係を分析できます。さらに、Call Treeからクエリビルドができます。Call Treeノードをクリックすると、メソッドプロファイリングができるので、そこでユーザIDとGUIDの設定ができます 。
テキストには、アプリケーション名や応答時間、プロファイルデータ等のトランザクションの情報が文字列形式で表示され、プロファイルデータの詳細を素早く確認できます(図7を参照)。

図6 X-View :トランザクションの詳細情報(Call Tree タブ)

プロファイルデータをCall Tree形式で表示したり、追加設定を行ったりする場合、Call Tree で確認します。

図7 X-View: トランザクションの詳細情報 – テキストタブ

トランザクションデータとプロファイルデータの詳細を把握するためにはテキストで確認します。

1.7 連携トランザクションのモニタリング

JENNIFERでは、単一リクエストから始まる複数のトランザクションの相互関係をモニタリング及び分析ができます。同一サーバ上で処理される様々な業務トランザクションの連携をモニタリングできます(図8を参照)。また、別のサーバで稼働するトランザクションの連携もモニタリングできます。
 例えば、オンラインバンキングシステム経由の電信送金という単一業務の処理は、それに先立ってログインとアカウントの検索等の予備的な処理が必要です。この場合、 JENNIFERは検索呼び出しメソッドで、連携トランザクションをモニタリングします。

図8 X-View: トランザクションの連携トランザクション詳細情報

同じGUID又はプロトコルフッキング方式で連結されたトランザクションを照会できます。

2.X-View分析

2.1 X-View分析

過去のトランザクションデータを確認するには、[分析➡ X-View]操作をし、特定の期間のトランザクションデータを照会及び分析ができます(図9と図10を参照)。
X-View分析では、トランザクションタブの他に、クライアントID、アプリケーション、GUID、ユーザID、クライアントIPのタブを提供します。これらのタブは個別のトランザクションではなく、特定の条件に結びついているトランザクションのグループを1つの点として表示します。
例えば、ユーザタブは、同じユーザ(ユーザID)のトランザクションデータを1つの点にグループ化します。この点を選択すると、選択したグループに含まれている全てのトランザクションデータが表示されます。

図9 X-View(分析)
図10 X-View: トランザクションの詳細情報
  • トランザクションの応答時間分布
    処理された全トランザクションの応答時間分布を確認できます(図10を参照)。
  • クライアントIDの応答時間分布
    処理されたトランザクションのクライアントID単位に応答時間分布を確認できます(図11を参照)。
図11 X-View: クライアントIDの詳細情報
  • アプリケーション別の応答時間分布
    処理されたトランザクションのアプリケーション単位で応答時間分布を確認できます(図12を参照)。
図12 X-View: アプリケーションの詳細情報
  • GUID別の応答時間分布
    GUIDで連携トランザクションをモニタリングする方式です。GUIDは、各トランザクション共通で参照する固有のIDであり、GUIDをもとに個別トランザクションの呼出し関係を追跡できます。ただし、正確な呼出し順序と方向を知ることは不可能で、時刻順に整列された状態で照会します。
図13 X-View: GUIDの詳細情報
  • ユーザID別に表示
図14 X-View: ユーザID別
  • クライアントIP別に表示
図15 X-View: クライアントIP別
  • トランザクションの詳細内容確認
    X-View情報でトランザクション内訳の詳細内容を確認できます(図16を参照)。
図16 X-View: トランザクションの詳細情報
  • アプリケーションの詳細内容確認
    X-View情報でアプリケーション内訳の詳細内容を確認できます(図17を参照)。
図17 X-View: アプリケーションの詳細情報

3.X-Viewと応答時間分布パターン

X-Viewチャートに表示される応答時間分布にはアプリケーションの特徴に応じた特定のパターンがあり、このパターンで現在のアプリケーションの問題を推定できます。各分布パターンの詳細は、マニュアルの「5.4X-View応答時間分布グラフパターン」を参照してください。

3.1 単純急増パターン

単純急増パターンは、サービスリクエストが一気に増加するときに見られる現象です。イベントを開催するサイトや年末年始の切符販売、特別バーゲンセールのようなシステムで発生の可能性があります。

3.2 層状パターン

層状パターン現象は、サービス要求が急増し、システムが正常でない状態のときに見られるパターンです。単純急増パターンとは、急増後の応答時間分布図のパターンが異なります。チャートの中間に横線が見えますが、最初の急増の直前より少しずつ横線が多くなり、急増後には明らかに横線が形成されるのが見られます。このように多くの線が層状を形成します。この現象は複数の線が階層的に形成され、負荷が多くなるにつれて横線の数が増える特徴があります。
層状パターン現象は、トランザクションが特定のリソースを使用する過程で、リトライと待機が反復されるときに現れます。つまり、トランザクションがあるリソースを確保しようとする時に有効な(空きの)リソースがなく、一定時間待機してリトライする時に応答時間の多段階層が形成されます。そのため、負荷が増えるほどリソース要求の急増現象が頻繁になり、待機時間の間隔で横線が形成されます。

3.3 ウォーターフォールパターン

ウォーターフォールパターンは、限界状態に敏感に反応するリソースが存在するときに見られるパターンです。ウォーターフォールパターンでは反復的に縦の線が形成され、特定のリソースが突然限界状態に到達してから瞬間的に解放され、関連するトランザクションが同時に終了する現象が繰り返されたときに発生することがあります。

3.4 水滴パターン

水滴パターンは、トランザクションが雨の日に地面に水滴が跳ねるような形のパターンです。水滴パターンでは、でこぼこした短い縦線が複数形成されます。この現象は、システムにボトルネックが存在するが、負荷が少なく顕在化していないときに発生することがあります。そのため、負荷が多くなれば、該当ボトルネックが致命的なシステム障害の原因になることがあります。

3.5 マトリックスパターン

マトリックスパターンは、トランザクションが流れ落ちるように形成されるパターンです。マトリックスパターンは、頻繁に短いロック(塊)現象が多くのトランザクションに渡って現れるときに見られます。1つのロックは幾つかのトランザクションだけに影響を及ぼし、このようなロックが全体アプリケーションサービスで不特定に現れるのが特徴です。 例えば、データベースやEJBエンティティビーンのアイソレーションレベルが高いときにこの現象が発生することがあります。

3.6 波打ちパターン

波打ちパターンは、トランザクションが、波が打ち寄せるように形成されるパターンです。性能問題とは関係なく、サービス要求が多くなったり少なくなったりを繰り返すときに発生することがあります。また、トランザクションが使用する特定のリソースが不足すると発生する可能性が高いです。例えば、モニタリングするJavaアプリケーションと連動する外部システムのCPU使用率が100%に近いとき、波打ち現象が発生することがあります。

お気軽にお問い合わせください

製品に関する事やご不明な点など、お気軽にご相談ください。
また、ジェニファーソフトでは2週間の無償トライアルを提供しています。

詳しく知りたい方は
導入や費用のご相談は