概要

「概要」セクションには、ノードの各種指標の概要が表示されます。例えば、次のものがあります。

  • 平均応答時間:ノードでリクエストの結果を返すのにかかる時間(ミリ秒単位)。
  • スループット:一定期間にノードで処理したリクエストの数。
  • 成功/失敗:このノードから実行された CFM のうち、成功したものと失敗したものの割合を示す円グラフ。
  • エラー:ノードで発生した 400 系および 500 系のエラーの回数を示す積み重ねグラフ。
  • 処理速度が特に遅い URL:ノード内の各 CFM の実行時間を降順に示したもの。
  • システム情報と共に、ColdFusion と Java のバージョンに関する情報も表示されます。
  • 取得されたスレッドダンプの履歴:ノードレベルで取得されたスレッドダンプの以下の情報を表示する表。次の情報が含まれます。
    • スレッドダンプ ID
    • 合計スレッド数
    • タイムスタンプ
    • アクション(ダンプをテキストファイルとして書き出し)
  • 取得されたヒープダンプの履歴:ノードレベルで取得されたヒープダンプの次の情報を表示する表。次の情報が含まれます。
    • ヒープダンプの場所
    • タイムスタンプ
ノード指標の概要
ノード指標の概要

アプリケーションの監視

CF サーバーページの「アプリケーション」タブでは、特定のクラスターまたは個々のインスタンスのすべてのアプリケーションに関連する指標を確認することで、アプリケーションを監視できます。

CF サーバーページのクラスターレベルでは、クラスターのインスタンスとその状態ごとの割合や、クラスター全体で発生した 400 系および 500 系エラーの数を示す積み重ねグラフ、処理が特に遅い URL、クラスターを構成するインスタンス全体のエラーの分布、一定期間におけるクラスターの ART およびスループットのグラフなどのデータを参照し、クラスターの概要を把握できます。

アプリケーションの監視
アプリケーションの監視

アプリケーションページには、アプリケーションの監視の際に取得されたデータが表示されます。このページには、監視して詳細を確認するアプリケーション(最大 5 つ)を選択できるドロップダウンがあります。

アプリケーションを選択すると、平均実行時間のグラフや各アプリケーションのヘルススコア、選択したアプリケーション全体の負荷配分のほか、選択したアプリケーションで一定期間内に発生した 400 系および 500 系のエラーの回数を示す積み重ね面グラフが表示されます。

アプリケーションのリスト
アプリケーションのリスト
アプリケーションのグラフ
アプリケーションのグラフ

アプリケーションのリストからいずれかのアプリケーションをクリックすると、そのアプリケーションの詳細ページが表示され、次のような、より詳細なデータを確認できます。

  • ART グラフ
  • 処理速度が特に遅い URL/クエリ
  • エラーグラフ
  • データソースの呼び出しと外部サービスの呼び出しの配分を示す円グラフ
  • 選択したアプリから実行されたリクエスト全体の様々な応答コードの配分を示す円グラフ
  • アクティブセッション数のグラフと、クラスターを構成するノード全体で実行されたリクエストの配分を示す円グラフ
アプリケーションの監視の詳細
アプリケーションの監視の詳細
アプリケーションの監視の円グラフ
アプリケーションの監視の円グラフ

CF 関連指標

リクエスト以外の ColdFusion 関連の様々な指標を監視するには、左側のパネルの ColdFusion サーバーページに移動します。CF 関連指標のデータは、常に ColdFusion サーバーのノードレベルで取得され、5 秒ごとに更新されます。

ノードの場合は、CF サーバーページに移動すると、「CF 関連指標」タブが表示されます。一方、クラスターの場合は、CF サーバーページに表示される個々のノードをクリックすると、そのノードの CF 関連指標が表示されます。

ここで取得される指標は、CF Admin で指定できる設定によって管理します。スロットル、リクエストおよびスレッド関連の設定は、サーバーの設定ページおよびリクエストの調整ページにあります。キャッシュページのキャッシュデータおよびデータベース関連の変更は、プールサイズを管理するための詳細設定で、個々のデータベースごとに適用できます。

収集される指標は次のとおりです。

  • スロットルデータ
  • リクエストのキューデータ
  • セッションデータ
  • データソース接続の指標
  • CF スレッド
  • テンプレート/コンポーネントのキャッシュ

スロットルデータ

スロットル関連のデータは、CF Admin の設定で指定したスロットルのしきい値に達したときに収集されます。カーソルを合わせると次のデータが表示されます。

  1. 平均スロットルキューサイズ:利用できるスロットルメモリが不足している場合にキューに入れられたリクエストの一定期間内における平均値です。
  2. 平均スロットルメモリ:Admin の設定で指定したしきい値に達したのでスロットルされた後、リクエストで使用されたスロットルメモリの値です。
スロットルデータ
リクエストスロットルデータのグラフ

リクエストキュー

キューに入れられたリクエストの平均値を示す積み重ねグラフです。ここで収集されるリクエストのタイプは、CFM テンプレート、CFC および Web サービス(SOAP サービス)です。このグラフに表示される最終値は、これら 3 種類のリクエストの合計です。この値には、CF Admin のリクエストの調整ページの設定も反映されます。キューに入れられたリクエストのデータ以外に、グラフにカーソルを合わせると、実行中のリクエストとタイムアウトになったリクエストのデータも表示されます。

* このデータは、ColdFusion のスタンダード版では収集されません。

リクエストキューサイズデータ
リクエストキューサイズのグラフ

テンプレート/コンポーネントのキャッシュサイズ

このグラフには、メモリ内にキャッシュされた ColdFusion のテンプレートおよびコンポーネント関連のデータが表示されます。カーソルを合わせると、キャッシュサイズ、ヒット率、キャッシュ数の平均値が表示されます。

テンプレート/コンポーネントのキャッシュサイズのグラフ
テンプレート/コンポーネントのキャッシュサイズのグラフ

CF スレッド

このグラフには、実行中およびキューに入れられた ColdFusion スレッドの数が表示されます。これらは、cfthread タグまたは ColdFusion の同等のスレッド関数を使用して生成されたスレッドです。このデータも、リクエストの調整ページの設定で管理できます。

CFThread 関連指標
CFThread 関連指標のグラフ

データソース接続の指標

様々なリクエストによってアクセスされたデータソースの接続関連データを示す積み重ね棒グラフです。例えば、そのデータソースの利用可能な最大接続数、平均オープン接続数、実行された合計接続数などが表示されます。

データソース接続の指標
データソース接続の指標のグラフ

セッションデータ

このグラフでは、一定期間内のアクティブなセッションと期限切れセッションの数を確認できます。

セッションデータのグラフ
セッションデータのグラフ

システム関連指標

この節では、すべてのシステム関連指標について説明します。

CPU 使用率

システムおよび JVM の使用率を時系列グラフで表示します。

CPU 使用率
CPU 使用率

メモリ使用量

セッションにおけるメモリ消費量の時間的変化を示します。

メモリ使用量
メモリ使用量

ネットワーク I/O

送受信されたパケットの数とネットワーク速度の時間的変化を示します。

ネットワーク使用状況
ネットワーク使用状況

ディスク I/O

任意の時刻におけるディスクの読み取りと書き込みの指標を表示します。

ディスク使用量
ディスク使用量

JVM 関連指標

Performance Monitoring Toolset は JVM に関する詳細な指標を提供します。この節ではそれらを説明します。利用可能な JVM 関連指標は次のとおりです。

  • ヒープおよび非ヒープメモリとその配分
  • GC 配分グラフ
  • GC の回数
  • スレッドおよびスレッドプール関連指標
  • クラスのロードに関する指標

ヒープおよび非ヒープメモリとその配分

ヒープ
ヒープ
非ヒープ
非ヒープ

JVM はメモリ管理をおこなっているので、JVM の設定方法によってパフォーマンスに大きな影響が出ることがあります。JVM の最も重要な設定は、初期ヒープサイズと最大ヒープサイズです。初期ヒープサイズは JVM が開始時に使用するメモリ量を表し、最大ヒープサイズは JVM が使用できるメモリ量を表します。これらの設定は、ColdFusion Administrator の Java と JVM の設定ページで変更できます。

GC 配分

ガベージコレクション(GC)は、プログラムで参照されなくなったオブジェクトに割り当てられたメモリを再生利用するプロセスです。次のグラフに 2 種類の GC を示します。

  • マイナーコレクション:若い世代でおこなわれるガベージコレクション。ColdFusion のマイナーコレクションでは、参照されていないローカルスコープおよび変数スコープの変数を回収します。
  • メジャーコレクション:古い世代でおこなわれるガベージコレクション。ColdFusion のメジャーコレクションでは、参照されていないセッションスコープ変数をすべて回収します。
ガベージコレクション
ガベージコレクション

ガベージコレクション回数の時間的変化を示すヒストグラムが用意されています。グラフの各棒にマウスポインターを合わせると、その特定期間の GC 回数が表示されます。

GC の回数
GC の回数

スレッドおよびスレッドプール関連指標

グラフには、サーバーが処理しているリクエスト数、および実行開始のためにアプリケーションサーバースレッドの割り当てを待っているリクエスト数が表示されます。

実行待ちのリクエスト数が多いことがグラフからわかった場合は、スレッドプールのサイズを増やしてください。 

次のグラフで、スレッドプールには、アクティブなスレッドの数の集計が表示されます。I

スレッド関連指標
スレッド関連指標
スレッドプール関連指標
スレッドプール関連指標

クラスのロードに関する指標

特定の期間にロードまたはアンロードされたクラスの数を示します。例えば、UDF に 10 個のメソッドがある場合は、10 個のクラスが cfc および cfm と共にロードされます。

クラスのロードに関する指標
クラスのロードに関する指標

スレッドダンプの取得

Buttons

クラスター内のノードの場合は、スレッドまたはヒープのダンプを取得できます。次の処理を実行するためのボタンをクリックします。

  • スレッドダンプの取得
  • ヒープダンプの取得
  • GC の起動
スレッドダンプの結果
スレッドダンプの結果

任意のスレッド状態をクリックすると、そのスレッドのスタックトレースが表示されます。

スレッドのスタックトレース
スレッドのスタックトレース

任意のスレッドグループをクリックすると、同様のスタックトレースが表示されます。

グループのスタックトレース
グループのスタックトレース

ヒープメモリ

ヒープメモリは、Java VM がすべてのクラスインスタンスおよび配列のメモリを割り当てるランタイムデータ領域です。ヒープのサイズは固定にすることも、可変にすることもできます。

  • Eden:ほとんどのオブジェクトで、メモリの最初の割り当て元になるプールです。
  • Survivor:Eden 領域のガベージコレクション後に残ったオブジェクトを含むプールです。
  • Old gen:Survivor 領域内に一定時間留まったオブジェクトを含むプールです。

非ヒープメモリ

非ヒープメモリには、Java VM の内部処理または最適化に必要となる、すべてのスレッドおよびメモリで共有される領域が含まれます。メタスペース、コードキャッシュ、圧縮キャッシュが格納されます。

ヒープのスナップショットを作成する場合は、「ヒープダンプ」をクリックすると、ダンプが正常に作成されます。

ColdFusion アプリケーションでは、スレッドを使用してリクエストを処理します。同時に使用するユーザーの数が多いほどスレッドが多くなります。複数のスレッドが同じリソースを使用している場合は、スレッド間の競合が生じます。スレッドダンプは、スレッドの競合の問題を分析するために使用され、各スレッドの正確なステータスとコールスタックに関する情報を提供します。

注意:ヒープおよび非ヒープのグラフのデータは、正確ではない場合があります。例えば、MaxMetaSpaceSize を 192 MB に設定した場合、Performance Monitoring Toolkit では、そのサイズが 1456 MB と表示される場合があります。

スレッドダンプを取得するには、「スレッドダンプ」をクリックします。次のスレッドステータスが表示されます。

Performance Monitoring Toolset で GC を実行することもできます。ガベージコレクターは、アプリケーションのメモリの割り当てと解放を管理します。オブジェクトを作成するたびに、ランタイムによって、マネージドヒープからそのオブジェクトのメモリが割り当てられます。マネージドヒープでアドレス空間を利用できる場合は、ランタイムは新しいオブジェクトの領域の割り当てを続行します。

ガベージコレクターは収集を実行する際に、マネージドヒープにアプリケーションによって使用されなくなったオブジェクトがないかチェックし、メモリの再利用に必要な処理を実行します。

ヒープダンプを取得するには、ヒープダンプというラベルのボタンをクリックします。ヒープデータは <ColdFusion2018_Home/cfusion> 内の admin-1532006781545.hprof ファイルに保存されます。

ガベージコレクションを実行するには、「GC」をクリックします。

キャッシュ

この節では、現在使用されているキャッシュエンジンについて説明します。ColdFusion の 2018 リリースでは次のエンジンを使用できます。

  • Ehcache
  • Redis
  • Memcached
  • JCS
  • カスタムプラグイン

また、アプリケーションとサーバーのキャッシュ領域を確認することもできます。

「サーバーのキャッシュ領域」オプションを選択すると、次のような詳細情報が表示されます。

サーバーのキャッシュ領域
サーバーのキャッシュ領域

アプリケーションのキャッシュ領域」オプションを選択すると、Application.cfc ファイルで指定したアプリケーションのキャッシュ統計情報が表示されます。

アプリケーションのキャッシュ領域
アプリケーションのキャッシュ領域

アクティブモニタリング

現在アクティブなリクエスト、クエリおよび ColdFusion スレッドを監視するには、左側のパネルにある「CF サーバー」をクリックします。ノードの場合は、CF サーバーページに移動すると、「アクティブモニタリング」タブが表示されます。

クラスターの場合は、ColdFusion サーバーページに表示される個々のノードをクリックすると、そのアクティブモニタリングの詳細情報が表示されます。

アクティブモニタリング
アクティブモニタリング

ページ左上のドロップダウンリストから、目的のパラメーターを選択できます。選択したパラメーターの現在アクティブなリクエスト/CF スレッド/クエリのリストに加え、所要時間、関連する java スレッド、実行されたクエリ(アクティブなクエリの場合)など、それぞれの詳細情報が表示されます。

リクエストのリスト
リクエストのリスト

追加情報だけでなく、これらのアクティブなリクエストおよび CF スレッドに対して、特定のアクションを実行することもできます。アクティブなリクエストの場合は、特定のリクエストのスレッドの Java スタックトレースを表示して、そのリクエストの状態を把握できます。また、スタックトレース、所要時間およびその他の類似パラメーターから、特定のリクエストによってサーバーが低速化またはハングしている可能性があると判断した場合は、そのリクエストをキルすることもできます。

同様に、現在アクティブになっている ColdFusion スレッドもキルできます。

Java スタックトレース
Java スタックトレース

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー