On this page:

Related Pages:

Your Rating:
Results:
PatheticBadOKGoodOutstanding!
16 rates

You may become aware of slow response times in a variety of ways. For example, you may receive a notification email or SMS based on a health rule violation or see performance indicators in flow maps or transaction scorecards.

The following guidelines describe a strategy for diagnosing and troubleshooting slow response times in AppDynamics.

Step 1: Determine if business transactions are slow or stalled

Slow, very slow, and stalled transactions are detected based on your transaction thresholds.

 How do I know?
  1. Make sure that the time frame selected in the Controller UI is likely to encompass the time when the performance issue occurred. If it's a continuing condition, you can keep the time frame relatively brief.  

  2. Click Troubleshoot > Slow Response Times.

  3. Click the Slow Transactions tab if it is not selected.
    The upper pane of the Slow Transactions tab displays a graph of the slow, very slow, and stalled transactions for the time period specified in the Time Range drop-down menu. The lower pane lists transaction snapshots transaction instances.

If you see one or more slow transaction snapshots on this page, the answer to this question is Yes. Otherwise, the answer is No.

No – Go to Step 2 and check for slow backends.

Yes – You have one or more slow or stalled transactions. Now you can drill down to find the root cause.

  1. In the lower pane of the Slow Transactions tab, click the Exe Time column to sort the transactions from slowest to fastest.

  2. Select a snapshot from the list and click View Transaction Snapshot. 
  3. Review the Potential Issues list to see the longest-running method and SQL calls in the transaction. 
  4. Click a potential issue and click Drill Down into Call Graph to go directly to that point in the call graph, or click Drill Down in the transaction flow map pane to see the complete set of call graph segments retained for this transaction.
  5. View the Time (ms) column to see how long this method execution takes relative to the transaction execution time. In this example, the selected method is taking 96.3% of the transaction execution time. 
  6. In the information details pane, note the class, method, and if available line number represented by the execution segment. This information gives you or the application developer responsible for the code a starting point for troubleshooting this code issue. 

If there are multiple slow or stalled transactions, repeat this step until you have resolved them all. However, there may be additional problems you haven't resolved. Continue to Step 2.

Step 2: Slow DB or remote service calls?

AppDynamics collects metrics about the performance of business transaction calls to the databases and remote servers from the instrumented app servers. You can drill down to the root cause of slow database and remote service calls.

Is there one or more slow DB or remote service call?

 How do I know?

Click Troubleshoot > Slow Response Times, then click the DB & Remote Service Calls tab.

If you see one or more slow calls on either the SQL Calls or Remote Service Calls tabs of this page, the answer to this question is Yes. Otherwise, the answer is No.

No – Go to Step 3 to determine if the problem is affecting all nodes in the slow tier.

Yes – You have one or more slow database or remote service calls, and need to drill down to find the root cause.

  1. On the SQL Calls tab of the transaction snapshot, sort the SQL Calls by Avg. Tims(ms). If you have a slow database call, you can click the database call to gain information about the call.

    If you have Database Monitoring, you can right-click the database on the Application, Tier, Node or Backend Flow Map, and choose View in Database Monitoring to delve into any database problems.

    If you have AppDynamics for Databases, you can right-click the database on the Application, Tier, Node or Backend Flow Map, and choose Link to AppDynamics for Databases. You can use AppDynamics for Databases to diagnose database issues.

    If you have correlated snapshots between Java applications and Oracle databases, you can drill down into the Oracle database on the Transaction Snapshot to view database details captured during the snapshot.

     

  2. On the Remote Service Calls tab, you can sort the queries by Avg. Tims(ms) and then click the slow call. You can then click Drill Down into Downstream Call to gain further insight into the methods of the service call. Sort the methods by the Time (ms) column, and then investigate any slow methods by selecting the method and then clicking Details.


  3. To see transaction snapshots for the business transaction that is correlated with a slow call:

    1. Make sure that the time frame selected in the Controller UI is likely to encompass the time when the performance issue occurred. If it's a continuing condition, you can keep the time frame relatively brief.  

    2. Click Troubleshoot > Slow Response Times.

    3. Click the Slowest DB & Remote Service Calls.
    4. From one of the slow calls in the Call column, click View Snapshots.
    5. You can then view the transaction snapshots correlated with that slow call in the Correlated Snapshots dialog.

Step 3: Affects all nodes?

Is the problem affecting all nodes in the slow tier?

 How do I know?

In the Application or Tier Flow Map, click the tier or node icon to see a quick overview of the health of each node in the tier.

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


Yes – Go to Step 4.

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.
  1. In the left navigation pane, click Tiers & Nodes
  2. Expand the Tier in the right pane and double-click the affected node to open its Node Dashboard.
  3. Click the Memory tab. Explore each of the available tabs to determine if you need to add memory to the node, configure additional memory for the application, or take some other corrective action. 
  4. Click the Server tab. If the Hardware tab indicates a hardware related problem, contact your IT department.

You have isolated the problem.

Step 4: Most business transactions?

Is the problem affecting most of the business transactions?

 How do I know?

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 this question is Yes. Otherwise, the answer is No.

No –

  1. In the left navigation pane, click Business Transactions.
  2. Sort by Health, Transaction Score 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. 

Need More Help?

If you've tried to diagnose the problem using the previous steps and haven't found the problem, see additional information for your specific agent:


 

  • No labels