Email : info@clicqa.com
+44 208 090 2404

ClicQA helped an E-commerce Application to Improve its Performance

About Client

Client is an E-commerce company, providing user friendly online shopping experience for their customers across the globe. Client has developed web and mobile applications to increase their customer base and market reach, and the developed applications go-live in the impending Holiday Season.

Requirement

Scalability: Application must be able to handle the load of 10,000 concurrent users from web traffic and 5,000 concurrent users from mobile traffic.

Efficiency: Customer expectation includes the highly efficient application with minimal page navigation response time.

Fail Over: Application should be able to behave as expected under specified load and should have the Fail Over control.

Problem Statement

Client has observed a couple of performance outages due to load at peak time and wanted to evaluate their web and mobile E-commerce application performance level ASAP, so that client can optimize Web Service/ APIs or upgrade their infrastructure. Alongside load testing the web application with 10,000 concurrent users and mobile app with 5,000 concurrent users, client wanted to find the performance bottlenecks as quick as possible.

Solution offered

With an understanding of the client profile, problem statement and requirement, our team has taken the  first step – choosing the right tool with their extensive exposure to several commercial and open source performance testing tools. Our team has shortlisted Jmeter, an open source Load Testing tool that offers a powerful, realistic load tests for thousands of users running business scenarios across a broad range of enterprise application environments.

We have used Jmeter to achieve following aspects of load testing:

  • Breaking point of application
  • Stress/Scalability/Capacity Testing
  • Spike and Synchronization Testing
  • Soak, Endurance Test and Reliability Testing
  • Performance Tuning and Diagnostics

Our Approach towards load testing using Jmeter:

  • Setting up a test environment that matches with the expected production environment
  • Creating Test plan using Jmeter GUI using all possible controls to make the identified scenarios more realistic
  • Scheduling the test execution at distinct times, including peak hours
  • Analyzing the metrics obtained from the test execution to prepare a load test report
  • Re-executing the test and verifying the improvement in performance after re-work on the bottlenecks identified

 

Performance Testing Process Flow:

Step-1 : Plan the Tests

Step-2 : Create Virtual Users Script

Step-3 : Create the Scenarios

Step-4 : Run the Scenarios

Step-5 : Monitor the Scenarios

Step-6 : Analyze the Test Results and prepare the Test Report

Outcome

  • Early detection of bottlenecks in the performance and reduced risk of page load delays caused by performance issues.
  • Client E-commerce application was able to handle 10,000 concurrent users from web traffic and 5,000 concurrent users from mobile traffic
  • As a part of bottleneck analysis, we have used “new relic” – an APM tool to monitor Jmeter stats. We have found out that for few customers, there were many loops on the sql calls as each customer had multiple purchases and this increased the response times and we have suggested DB admits to correct the queries or use cache.
  • We have also found that memory was leaking out for longer duration tests. We have maintained different Jmeter memory configurations after thorough testing. After client had implemented suggested changes on specific pages, we have observed overall 150% improvement on the application.
  • Client was able to comprehend the performance of the server and accordingly client had identified the production server/ infrastructure requirements and was able to determine the monitoring thresholds.
  • Client has enhanced the overall system and was able to meet the performance benchmark as client was expecting more users in the coming days

Conclusion

Our team’s expertise and our diligence towards client’s business need & requirement has given client confidence to go-live in the Holiday Season. Even before the season started, client’s application was ready to perform as it should be at the expected load and stress levels.

Download PDF