Eliminate method leads to filter out certain requests, transactions or components from the list of culprits which cause performance issue. In the previous post, you read about the Drill Down method where we got an issue and continue the investigation until we got the root cause. But what will you do when you get more than one critical issues during the test? Drill down method may take more time than expected. In such a case, you have to filter out the most critical issue and park the other issues for a while. Here, you will require the ‘Eliminate Method’.
It has been observed that around 20%-30% newly build systems/applications have many performance issues. Some are really critical and some are having the least priority to resolve. This method is evolved because developers cannot concentrate on all the defects at the same time and provide proper fixes in short timelines. Some of the fixes again re-generates the old defects.
Why Eliminate Method only?
To narrow down the percentage of bottlenecks with a quick and quality solution we use Eliminate method. This is a method where you can use your cognitive skills and as innovative as possible to decide which bottleneck is critical and which can be parked for some time (until next release). So it could be like to eliminate the hardware resource relate bottlenecks and focusing on software resource bottlenecks only. You can also choose to remove DB server bottleneck first and then focus on the app server or you may go for removing the server bottlenecks and then concentrate on the code, but whatever you are eliminating; should not be forgotten.
Since this is one of the methods to carry out your performance test analysis, so I would never say to ignore any performance bottleneck. Just make a list of open bottlenecks or mention in the sign-off report or keep open those bottlenecks in QC/PC, so that developers can pay attention to those bugs and provide fixes in the next release.
Let’s assume one case where we found multiple performance bottlenecks in an application. The first bottleneck is that the application is unable to handle the stress-test load and crashed. Although the load test has few errors (504/Gateway Timeout) on the payment page.
The second issue is more critical than the first one. Because it is related to the payment gateway. Any failure in processing the payment in the live environment hamper the user experience index. Since the application is able to handle the peak load (current load) in the load test so stress test issue can be parked. The stress test issue indicates that the application is unable to handle the future load. The future load could have figures of 2 to 3 years later. Therefore eliminate the stress test load issue and concentrate to resolve Gateway issue first.
Another case in which again you got 2 bottlenecks. High CPU utilization in Load Test and Memory Leakage in Soak Test. As per requirement, the peak user load on this application is 500 and peak hours are from 0900 to 1200 and from 1500 to 1800. In this case, first, reduce the CPU utilization and make the application responsive to 500 users. You can eliminate the memory leakage issue for a while.
Eliminate method does not emphasis to neglect even a small performance issue. It states to keep the low priority issue aside until the developer resolves critical issues. Eliminate Method is effective for getting a quick resolution of high priority issue in tight timelines. For low priority issue, note down them and include in the next round of testing.
You may be interested: