Monday, February 26, 2018

Dynatrace Application Performance Monitoring Tool (APM)

Introduction:
As the information technology industry is rapid development and most optimized performance applications needs to be delivered into the market using agile methodologies. To meet end users expectations we have many application performance monitoring tools in the market.
Dynatrace is one of the best industry standard application monitoring tool.

Dynatrace Architecture:
Dynatrace Architecture is client server based architecture which involves the monitoring of the client side metrics, application server based metrics using dynatrace agents and automatically monitors database server based metrics.



 












Everything is agent based collections interms of metrics for
dynatrace, so there is high accuracy for correctness of data for any trusted customers using the application which is highly scalable in the any competitive market.
Dynatrace Architecture has four important components
Dynatrace client
Dynatrace collector
Dynatrace server
Dynatrace Agents

Dynatrace client will give all the metrics of the server health and application performance.
· It is the front end component which will show the end user point of view experience of using the application.

Dynatrace collector will collect all the information from the application server, web server and Database server for sending all the traffic related information.

Dynatrace Server in turn receive all the information from Dynatrace collector to send the information of servers and application health to Dynatrace Client

Dynatrace Agents are the main important to monitor the application server and web server, Database server for bringing out the application level metrics both client side and server side including the application level code issues.

Working Mechanism of Dynatrace

The main focus on working with Dynatrace tool will be on the two key factors

Pure stacks

Pure paths

Pure stacks: In the Pure stacks will follow the bottom to top approach to find out the root cause of the problem in the application.

Bottom to top approach involves identifying the application issue from the server level which will be majorly on the hardware level such as memory, CPU, disk level problems before going into code level application problems.

Important thing we will see in the pure stack is in the application server we will check

(a) Host health: It will show the health of the hardware details of application server

1) CPU Utilization: Always CPU Utilization should be under threshold limit (80%). If we found the CPU Utilization is greater than or equal to 80% then we will analyze the Thread dump for finding out the reason for taking the high CPU utilization.

If you find in any specific period observe high CPU but all the remaining resources are looking acceptable limit, also if no issues found in the thread dump.

We need to go for the CPU Sampling.

In the CPU sampling need to analyze in that specific time period which particular CPU threads are causing the CPU wait or block for making application to consume high CPU utilization.

2) Memory: Memory consumed from the total available memory. Acceptable level should be less than 80% of total memory.

3) Network Utilization: Network utilization should not be having spikes during the load test.

It includes the network parameters like network latency and bandwidth for making the proper channel for maximum bandwidth.

4) Disk space: How the Disk reads and writes are going on in the database can be identified here for proper maintaining file related operations.

5) In the start center , go to the Analyze performance and Analyze the load test results for getting the how the load test or corresponding performance test is performed.

We will get the metrics of Response time and Load vs Response time. To analyze the performance of the test.


(b) Application Health:

In the application Health of all the application server JVM overview, we can see the Heap Memory, it is performed throughout the performance test.

We will also get the GC suspended time details, Thread count.

In the Purepath will follow top to bottom approach to find out the root cause of the problem in the application.

Top to bottom approach involves identifying the application issue from the code level such as which particular methods in the application is taking more response time, finding out the method hotspots causing the application to consume more time to load the pages.

PurePath:

This is multidimensional data related to every transaction which gives the clear visibility across Browser, web apps, web server, app server and database server.

Gives the entire information about a transactions regardless where they originated (Browser/server) from end to end covering all web requests, calls, methods, and database calls etc.

UserActionPurePath:

This is a Dashlet which captures all purepaths which are generated in the browser (or) which are generated based on the user actions (ex: clicking on button, selecting a link).

For this user action generated in browser, there consist of many web requests from end to end which can be traced using the option User Action Pure Path.




1 comment :