アプリケーションの応答時間が遅いことは、次の方法により気付く場合があります。

  • アラートの受信:正常性ルールとポリシーを使用して構成された AppDynamics からのメールアラートを受信した場合、そのメールには、アラートを発信する理由となった問題の詳細が記載されています。詳しくは、「通知アクション」の「メール通知」を参照してください。問題が応答時間の遅延に関するものである場合は、「Initial Troubleshooting Steps」を参照してください。
  • アプリケーションダッシュボードでビジネスアプリケーションを表示し、応答時間の遅延を確認。
  • ユーザによる、特定のビジネストランザクションに関する応答時間の遅延報告(たとえば「ホテルの検索が遅い」といった内部テスターのレポートなど)。 

トラブルシューティング最初の手順

場合によっては、左側のナビゲーションペインで Troubleshoot > Slow Response Times を選択することで、問題の原因を簡単に診断できることがあります。詳細については、応答遅延を参照してください。

.NETリソースのトラブルシューティング

この方法で診断しても問題が見つからない場合は、以下のトラブルシューティング手順を使用して問題の根本的な原因を見つけます。

ステップ1 - CPU飽和の有無

CLRのCPUが飽和状態ですか?

  1. ティアフローマップを表示する。
  2. Nodesタブをクリックし、Hardwareタブをクリックする。
  3. CPU %(現在)で並べ替える。

[CPU %] が 90 以上の場合、ステップ 4 の質問の答えは「はい」となります。それ以外の場合は「いいえ」となります。

「はい」の場合 - 次へ進みます。 Step 2

「いいえ」の場合 ― メトリックブラウザでさまざまなメトリックを確認して問題を特定。

左側のナビゲーションウィンドウで、Servers > Tiers & Nodes > slow tier をクリックします。次のメトリックを重点的に確認します。

  • ASP.NET -> Application Restarts
  • ASP.NET -> Request Wait Time
  • ASP.NET -> Requests Queued
  • CLR -> Locks and Threads -> Current Logical Threads
  • CLR -> Locks and Threads -> Current Physical Threads
  • IIS -> Number of working processes
  • IIS -> Application pools -> <ビジネスアプリケーション名> -> CPU%
  • IIS -> Application pools -> <ビジネスアプリケーション名> -> Number of working processes
  • IIS -> Application pools -> <ビジネスアプリケーション名> -> Working Set

問題が特定できたので、以下の手順に進む必要はありません。

ステップ2 - 非常に頻繁なガベージコレクションアクティビティの有無

  1. ティアフローマップを表示する。
  2. Nodesタブをクリックし、Memoryタブをクリックする。
  3. Time Spent on Collections (%)で並べ替えると、処理時間におけるガベージコレクションアクティビティが占める割合を確認できます。

[Time Spent on Collections (%)] が許容値を上回る場合(たとえば 40% 以上)、ステップ 5 の質問の答えは「はい」となります。それ以外の場合は「いいえ」となります。

非常に頻繁なガベージコレクションアクティビティがありますか?

「はい」の場合 - Step 3 に進みます。

「いいえ」の場合 ― 標準ツールを使用してメモリダンプを作成し、それを確認して問題の元を特定。

問題が特定できたので、以下の手順に進む必要はありません。

ステップ3 - メモリリークの有無

メモリリークが発生していますか?

  1. 前の手順で表示されたノードリストから(ガベージコレクションのアクティビティを確認していた時)、非常に頻繁にガベージコレクションアクティビティが発生しているノードをダブルクリックする。
  2. [Memory] タブをクリックし、コミット済みバイトカウンタと Gen0、Gen1、Gen2 および大きなヒープのサイズを確認する。

Memory

メモリが解放されていない場合(上記のインジケータのうち 1 つ以上が上昇傾向にある)、ステップ 6 の質問の答えは「はい」となります。それ以外の場合は「いいえ」となります。

「はい」の場合 ― 標準ツールを使用して、メモリに関する問題のトラブルシューティングを実行。ASP.NET メトリックの確認も有効(Tiers & Nodes > slow tier > ASP.NET をクリック)。

「いいえ」の場合 ― 標準ツールを使用してメモリダンプを作成し、それを確認して問題の元を特定。

回答が「はい」でも「いいえ」でも、問題が特定されます。