AppDynamics Application Intelligence Platform

3.8.x Documentation

PDFs

Videos

Release Notes

Skip to end of metadata
Go to start of metadata

How Do You Know Response Time is Slow?

There are two primary ways you can learn that your application's response time is slow: receiving an alert and looking at an Application Dashboard.

You Received an Alert

If you have received an email alert from AppDynamics that was configured through the use of Health Rules, Policies, Actions or Workflow Overview, the email message provides a number of details about the problem that triggered the alert. See Email Notifications.

If the problem is related to slow response time, see Initial Troubleshooting Steps.

You are Viewing the Application Dashboard for a Business Application

NOTE: If you know the slow response time relates to a particular business transaction, e.g. an internal tester reported "Searching for a hotel is slow," skip to the answer No in Step 2.

  1. Display the Application Dashboard (flow map). Look for lines that are yellow or red or tiers that are not entirely green.

  • If multiple tiers are red or yellow, the problem might be related to a backend (database or other remote service). Skip to Step 3.
  • Otherwise, begin troubleshooting with Initial Troubleshooting Steps.

Need more help?

Initial Troubleshooting Steps

In some cases, the source of your problem might be easily diagnosed by choosing Troubleshoot -> Slow Response Times in the Navigation Pane. See Troubleshoot Slow Response Times.

If you've tried to diagnose the problem using those techniques and haven't found the problem, use the following troubleshooting methodology to find other ways to determine the root cause of your issue.

Troubleshooting Methodology

 

Step 1 - All nodes?

Is the problem affecting all nodes in a slow tier?

 How do I know?

How do I know if the problem is affecting all nodes?

  • In the Application or Tier Flow Map, click the number that represents how many nodes are in the tier. This provides a quick overview of the health of each node in the tier. The small circle icon indicates whether the server is up with the agent reporting, and the larger circle icon indicates Health Rule violation status.


If all the nodes are yellow or red, the answer to the question in Step 1 is Yes. Otherwise, the answer is No.

Yes – Go to Step 2.

No – The problem is either in the node's hardware or in the way the software is configured on the node. If only one node in a tier is affected, the problem is probably not related to the application code.

  • In the left navigation pane, click Servers -> App Servers -> <slow tier> -> <problematic node> to display the Node Dashboard flow map.

  • Click the Dashboard tab to get a view of the overall health of the node.
  • Click the Hardware tab to see if there is a hardware resource issue.
  • Click the Memory tab and sort on various column headings to determine if there is a shortage of memory or other memory issue.

You have isolated the problem and don't need to continue with the rest of the steps below.

Need more help?

Step 2 - Most business transactions?

Is the problem affecting most of the business transactions?

 How do I know?

How do I know if the problem is affecting most of the business transactions?

  1. On the Application Dashboard, look at the Business Transaction Health pane on the right side of the screen.

If the bar representing business transaction health is primarily yellow or red, the answer to the question in Step 2 is Yes. Otherwise, the answer is No.

Yes – Go to Step 3.

No –

  1. In the left navigation pane, click Business Transactions.
  2. Sort by Health, Server Time, or other column headings to find the business transaction that is experiencing issues.
  3. Double-click the problematic business transaction to see its Dashboard, then use the tabs to diagnose the problem.

You have isolated the problem and don't need to continue with the rest of the steps below.

Need more help?

Step 3 - Backend problem?

Are the nodes linked to a backend (database or other remote service) that might be causing your problem?

 How do I know?

How do I know if the nodes are linked to a backend (database or other remote service) that might be causing my problem?

  • Display the Tier Flow Map. If any nodes are linked to a backend, links to those backends are displayed in the flow map.

If a backend or the line connecting to a backend is red, the answer to the question in Step 3 is Yes. Otherwise, the answer is No.

Yes –

  • Click the line connecting to the backend to see an information window about the backend. The contents of the information window vary depending on the type of backend. Use the various tabs to find the source of the issue.

  • If the backend is a database, right-click the database icon. You have a number of options that let you see the dashboard, drill down, etc. If you have AppDynamics for Databases, choose Link to AppDynamics for Databases. You can use AppDynamics for Databases to diagnose database issues.

You have isolated the problem and don't need to continue with the rest of the steps below.

No – Go to Step 4.

Need more help?

Step 4 - CPU saturated?

Is the CPU of the CLR saturated?

 How do I know?

How do I know if the CPU of the CLR is saturated?

  1. Display the Tier Flow Map.
  2. Click the Nodes tab, and then click the Hardware tab.
  3. Sort by CPU % (current).

If the CPU % is 90 or higher, the answer to the question in Step 4 is Yes. Otherwise, the answer is No.

Yes – Go to Step 5.

No – Review various metrics in the Metric Browser to pinpoint the problem.

In the left navigation pane, click Servers -> App Servers -> <slow tier>. Review these metrics in particular:

  • 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 -> <Business application name> -> CPU%
  • IIS -> Application pools -> <Business application name> -> Number of working processes
  • IIS -> Application pools -> <Business application name> -> Working Set

You have isolated the problem and don't need to continue with the rest of the steps below.

Need more help?

Step 5 - Significant garbage collection activity?

Is there significant garbage collection activity?

 How do I know?

How do I know if there is significant garbage collection activity?

  1. Display the Tier Flow Map.
  2. Click the Nodes tab, and then click the Memory tab.
  3. Sort by Time Spent on Collections (%) to see what percentage of processing time is being taken up with garbage collection activity.

If Time Spent on Collections (%) is higher than acceptable (say, over 40%), the answer to the question in Step 5 is Yes. Otherwise, the answer is No.

Yes – Go to Step 6.

No – Use your standard tools to produce memory dumps; review these to locate the source of the problem.

You have isolated the problem and don't need to continue with the rest of the steps below.

Need more help?

Step 6 - Memory leak?

Is there a memory leak?

 How do I know?

How do I know if there is a memory leak?

  1. From the list of nodes displayed in the previous step (when you were checking for garbage collecting activity), double-click a node that is experiencing significant GC activity.
  2. Click the Memory tab, then review the committed bytes counter and the size of the Gen0, Gen1, Gen2 and large heaps.

If memory is not being released (one or more of the above indicators is trending upward), the answer to the question in Step 6 is Yes. Otherwise, the answer is No.

Yes – Use your standard tools for troubleshooting memory problems. You can also review ASP.NET metrics; click Servers -> App Servers -> <slow tier> -> ASP.NET.

No – Use your standard tools to produce memory dumps; review these to locate the source of the problem.

Whether you answered Yes or No, you have isolated the problem and don't need to continue with the rest of the steps below.

Need more help?

None of the above?

If slow response time persists even after you've completed the steps outlined above, you may need to perform deeper diagnostics.

If you can't find the information you need on how to do so in the AppDynamics documentation, consider posting a note about your problem in a community discussion topic. These discussions are monitored by customers, partners, and AppDynamics staff. Of course, you can also contact AppDynamics support.

Need more help?

  • No labels