Amid widespread COVID-19 pandemic, the organizations and individuals from all over the world are donating funds through different channels or platforms to help the Governments/NGOs/Communities fight this deadly virus and help the poor people. Our client developed an online platform to collect the crowd donation funds online from domestic and international channels for this cause.
- Lack of performance QA resources and processes.
- Testing was carried out by the developers.
- Project had a well-detailed specification.
- Structured and formalized the performance testing process.
- Created detailed performance testing strategy and test plan.
- Created and maintained performance testing test cases and check lists.
- Designed the architecture of the performance test framework from scratch.
- Updated the Jira workflow.
- Integrated short team meetings to be sure all the team are on the same page.
The client deployed their newly developed system on the cloud infrastructure (having multiple App/Web servers and DB servers) along with a physical load balancer. They were expecting huge amount of financial transactions in a day and wanted to ensure that the system is reliable to handle the projected load during peak hours with good user experience.
Project team engaged us to do a performance assessment to eliminate the performance issues during peak hours so that the system performs well with acceptable response time. They also wanted Performance Engineer to do the performance benchmarking on the existing environment (with optimized hardware resources) and help the team to do the capacity planning for the future load projection (where millions of transactions are expected on their platform everyday).
Vihat Technologies leveraged the multiple test methods to ensure that the platform is able to handle 2 hundreds thousands transactions per hour and 2 million transactions per day. The sole motive was to enable the system to support the expected load with minimum hardware resources while ensuring that all the golden transactions/paths are working fine with acceptable response time.
Here is how we achieved the desired objective:
Simulated the real-world peak scenario and ensured the performance (or good user experience) of the system is not compromised under the load.
Performed multiple types of tests including:
- Reliability tests to ensure system performance is acceptable under the load.
- Executed scalability tests to verify if the system is scalable to support the future load projection.
- Stress tests to identify the break point and recovery after failover.
- Endurance tests to ensure there is no memory leakage and system will perform well under the peak load for longer duration.
- Conducted resilient tests on different data centers for disaster management/recovery scenario.
- Identified the load distribution issues and helped the team to tune the load balancer to ensure the overall load distribution is proportional across server nodes setup on different data centers.
- Identified the slow DB queries, session blockage and locks, to help the DBA team to tune the database for faster query response with minimum wait time.
- Identified the platform issues that occur under the load like “System timeout” due to one-minute timeout session configured on the system.
- Identified the OTP verification issue due to DB locks and wait time.
Tools & Technologies
JMeter, Dynatrace, Zabbix, Jenkins, Jira, Confluence
- The response time came down to 3 seconds.
- The web application was efficient enough to handle the heavy user load leading to faster donation transactions with limited hardware resources (optimized effectively). Also, faster OTP verification led to fewer transaction failures.