Tutorial 1: DYNATRACE -Application PERFORMANCE Monitoring (APM) TOOL

Hi Everyone,

In This blog we will discuss about a performance tool  – Dynatrace which we are using now-a-days in Knoldus for Performance Testing and We would be running this blog as a series and we would be looking at various aspects of Performance Testing with this blog.

The aim includes;

  • What is Dynatrace?
  • How does this work?
  • Benefits of Dyntrace

When we develop a new application, we face a lot of complex issues related to performance of our application and there are many layers of complexity in our application and to get rid of those issues we use dyntrace and with the help of this we are able to find the root cause of the complexity.

What is Dynatrace

DynaTrace Software is an Application Performance Monitoring  tool (APM) ,Which is widely used nowadays .It comes with advanced features for monitoring Java. Through which we can easily identify the performance of our application.

(more…)

Advertisements

Improve Memory Usage And Performance of Application Using Your kit Profiler

In this blog we are walking through how to improve performance of application using Yourkit profiler it is  helpful for both Tester and Developers.

Your Kit is big achievement in the evolution of the profiling tools. It is intelligent tools for profiling java , .net and ( JVM support languages)  based applications.

It is often important to check memory usage and memory used per process on servers so that resources do not fall short and users are able to access the server. It is very effective for any application.

Problem Related Issue for any application 

If there is memory related issues that are present in our application it slows down the performance and memory-related problems:

  • Application uses more memory than it should
  • Out of Memory occurs when jvm cannot allocate object because it is out of memory.
  • Memory leaks
  • Application creates a lot of temporary objects

Due to these problems our application leads to serious overall system performance degradation.

Your kit is very helpful for recognizing these types of problem for improving performance of the applicationFor execute profiler one should run this command:

/bin/yjp. sh

MEMORY USAGE 

In  Memory tab if we select Memory and GC telemetry section showing the memory related graphs.In which

  • Heap Memory shows Java heap statistics.In this we can easily see individual pools or all pools together.Java uses the heap as the storage for Java objects.
  • Non-Heap Memory shows the non-heap memory statistics. Java uses the non-heap memory to store loaded classes and other meta-data. You can see individual pools or all pools together.
  • Classes shows how the number of loaded classes changed in time, and the total number of unloaded classes.
  • Garbage Collection and  GC pauses show the garbage collection statistics
  • Object Allocation Recording graph shows the number of objects created per second.

Screenshot from 2016-07-21 17:32:01

 

Memory

Screenshot from 2016-07-22 12:38:38

Here you see the current memory allocations and number of objects has been created and size reserved.

CPU Usage

CPU tab shows  CPU consumption statistics. It is available when you are connected to the profiled application.

Screenshot from 2016-07-22 12:44:34

Performance Chart

In this tab we are able to catch all the statistics performance at one place e.g CPU, Memory etc.

Screenshot from 2016-07-22 12:25:41

Perf_ch1

Perf_ch2

Perf_ch5

Using this we can improve  performance of our application and make it effictive.

I hope this blog shows you what you can do with YourKit java profiler.

Refrences

Customized Response Time in Gatling Report

Gatling is a highly capable load testing tool which gives high performance. Some times we face problem in customization response time for our application.

In this Blog we will analyse how can we customized response time in Gatling .In Global Information Section

blog1

In graphical format,this Section Displays the Number of Requests captures in the given Load testing. Every requests are displays according to their Response times.

These Requests are divided into four different Sections:

  • In first section(green color), the requests whose response times are less than Lower bound
  • In second section(yellow color), the requests whose response times are are between the lower bound and the higher bounds
  • In third section (orange color),the requests whose response times are greater than the higher bound
  • In fourth section (red color),the requests who fail to respond

 

In Gatling test report by default Response times are:

  • Lower Bound is 800ms
  • Upper Bound is 1200ms

This time is editable,depend upon our project requirements. we can modify this time if we need.

For do this

  • Go to the directory where Gatling tool is downloaded
  • Inside the Gatling bundle directory look for the conf folder.
  • File named gatling.conf. Open this .conf in a text editor.

 

The charting section in the .conf file, example shown as below:


charting {
 #noReports = false # When set to true, don't generate HTML reports
 #maxPlotPerSeries = 1000 # Number of points per graph in Gatling reports
 #accuracy = 10 # Accuracy, in milliseconds, of the report's stats
 indicators {
 lowerBound = 800 # Lower bound for the requests' response time to track in the reports and the console summary
 higherBound = 1200 # Higher bound for the requests' response time to track in the reports and the console summary
 #percentile1 = 50 # Value for the 1st percentile to track in the reports, the console summary and GraphiteDataWriter
 #percentile2 = 75 # Value for the 2nd percentile to track in the reports, the console summary and GraphiteDataWriter
 #percentile3 = 95 # Value for the 3rd percentile to track in the reports, the console summary and GraphiteDataWriter
 #percentile4 = 99 # Value for the 4th percentile to track in the reports, the console summary and GraphiteDataWriter
 }
 }

The above code segment lists by default values as comes with Gatling bundle.  Inside that look for lowerBound and higherBound. these two are set as 800 and 1200 respectively. The unit is in milliseconds.

Suppose project requires to set these two as 1000 and 1800 respectively. Modify these two values and save the .conf file. and these two line of code by removing the #.

Like this:


charting {
 #noReports = false # When set to true, don't generate HTML reports
 #maxPlotPerSeries = 1000 # Number of points per graph in Gatling reports
 #accuracy = 10 # Accuracy, in milliseconds, of the report's stats
 indicators {
 lowerBound = 1000 # Lower bound for the requests' response time to track in the reports and the console summary
 higherBound = 1800 # Higher bound for the requests' response time to track in the reports and the console summary
 #percentile1 = 50 # Value for the 1st percentile to track in the reports, the console summary and GraphiteDataWriter
 #percentile2 = 75 # Value for the 2nd percentile to track in the reports, the console summary and GraphiteDataWriter
 #percentile3 = 95 # Value for the 3rd percentile to track in the reports, the console summary and GraphiteDataWriter
 #percentile4 = 99 # Value for the 4th percentile to track in the reports, the console summary and GraphiteDataWriter
 }
 }

After changes are saved Run the test case and observe the response times of the requests should be modified in the chart and also showing in information section.

So this is  how we can customized response time according to our project requirement