Chalets booking - mobile app load testing - Fleek IT Solutions
16167
single,single-portfolio_page,postid-16167,ajax_fade,page_not_loaded,,qode-content-sidebar-responsive,qode-theme-ver-9.5,bridge-shared-by-themes24x7-com,wpb-js-composer js-comp-ver-4.11.1,vc_responsive

Chalets booking – mobile app load testing

About This Project

Chalets booking app is an Arabic mobile app having great features to find chalets, filtering, pictures, pricing and booking options etc. Client had a very bad experience with performance of the app when they started their first marketing campaign, performance issues was a big set-back for their business. According to problem statement, load balancers and auto-scaling was in place, but application and infrastructure was not able to handle the load during marketing campaign.

Client contacted Fleek IT team in order to do a load and stress testing of the mobile app and find out performance bottlenecks in application, infrastructure and database. The biggest goal was to make sure that app performance is in a good shape before our next marketing campaign.

Proposed solution and execution

After understanding the complete requirements and business goals, Fleek IT team proposed an cost-effective and reliable solutions using following technical stack

  • Jmeter – an open source tool designed to load test functional behavior and measure performance
  • Jmeter plugins – a custom set of plugins for Jmeter to generate additional reports and, provide flexibility in scripting to generate more realistic load and many more features
  • Charles proxy – used as proxy to capture the requests and API calls
  • AWS EC2 instance – Load generation server
  • Blazemeter or redline13 as a load generation cloud

jmeter redline13charles-proxy

Our findings

As a best practice we always keep an eye on potential issues during scripting, planning and of-course during test executions. Our experts identified few common issues quickly and notified developers:

  • Unwanted and duplicate API calls were made for many transactions
  • No server side or client side caching/local storage was implemented
  • Load balancer was not working as expected, auto-scaling configurations was not defined correctly and was causing errors to users during auto-scaling. However we recommended to first optimize application based upon single instance and see the bottleneck. This approach will help in planning infrastructure and related costing.
  • Chalet images was not compressed
  • Database queries was not optimized and multiple database functions were used in where conditions which was causing very high CPU utilization.
Category
Load testing, Mobile app testing
Tags
Jmeter, Redis, Redline13