Pattern Method

This is a method of understanding the pattern of the graphs by analysing and comparing them and then concluding the result. This method consists of two parts:

  1. Pattern Analysis
  2. Pattern Comparison

The best example to understand the Pattern Method is a Soak Test which helps to find out the memory leakage in the application. The soak test or Endurance test involves testing a system with an average load extended over a significant period of time. Here your goal is to discover how the system behaves under sustained use. That is, to ensure that the throughput and/or response times after some long period of sustained activity are as good as or better than at the beginning of the test. Generally, the duration of the Endurance test is 6-10 hours, but do you think any application runs only 6-8 hours in production and then we switch off the application (like a light bulb in the house), off-course NO. So, how 6 to 8 hours test help us to predict whether an application has any bottleneck or not? The answer is ‘Pattern Analysis’.

Pattern Analysis:

A performance tester analyses the pattern of the graph and concludes the sustenance of the application. This is the first part of the Pattern Method. Under this part, you have to understand the pattern of the response time, throughput, CPU utilization, Memory Utilization, and GC graphs. Any uneven pattern or spike leads to an investigation.

Pattern Comparison:

Now, the second part is “Pattern Comparison”. In this method, we compare the performance issues in the system under analysis with commonly seen issues and their causes in other systems. There are so many common performance issues like server configuration, and load balancer issues resulting in regular spikes in the response time or the huge spike in response time in a stable system due to web server cache refreshes and even gradual increases in response time due to memory leaks. The basic is to compare the performance issues with commonly seen issues and find out the root cause. In this way, it is easy and quick to resolve the identified common issues.

Example of Pattern Method:

To understand this method in detail, let’s have a look at a test result of a Java-based Order Management System at 1000 orders per hour for 24 hours. Submit Order transaction is taking a few seconds of response time at the start of the test, but showed an increasing trend in response time and finally reached 70 seconds response time towards the end of the test. This is a clear indication of performance degradation over time which we can see in the average transaction response time graph. Using the Pattern method here, the root cause of the issue could be memory shortage over time. Upon analysing the Java memory usage, it confirmed that the used memory increased from 90 MB to 1 GB. This was due to a memory leak in the system.

Figure 01

You may be interested: