Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

How to scale 1 million users in JMeter

ABOUT THE ClIENT

  • The client requirement is to put 260 requests per sec which would be approx 1 million in an hour.
  • The client provided us with different API Endpoints and the number of times the particular API should be executed per second as follows:
  • We calculated the number of times the API should be executed per minute and per hour accordingly, as follows:

PROBLEM AND CHALLENGES FACED

  • The client provided the Postman Collection.
  • Headers are missing in some HTTP Requests in JMeter.
  • We were having authentication issues.
  • Each API request had to be executed with a different number of Users.
  • When we pass a csv value in the request, the format of the value is automatically changed.
  • As we have limited data, DB restore was needed after each execution.
  • Executing a million APIs through JMeter is not preferable as JMeter is not that capable. This might require a large capable. 
  • When executing these APIs through JMeter, the CPU usage exceeded 80%.
  • 5 CSV files were required for this execution, but RedLine13 allows only 1 file free for execution.

OUR SOLUTIONS

  • We have converted the postman collection into JMX.
  • We have added Headers in HTTP Request.
  • We have a correlate authentication token using Bean Shell Assertion.
  • We tried to use a concurrency thread group but somehow it did not work so we created a separate thread group for each and every API request.
  • We have changed the CSV Format to a txt file.
  • We said the dev team to clear the DB.
  • We executed these APIs through RedLine13 using 8xlarge (32 vCPUs) machine.
  • We executed these APIs through Redline13; CPU usage was highest at 5.2%, and an average of 44% for the Load generator.
  • We buy a Basic Redline13 plan to execute 1 million requests within an hour.

TOOLS AND TECHNOLOGIES

  • We used the JMeter tool for creating a script.
  • We tested the execution of the script in Redline13.
  • To more about Load and Performance Testing, click here.

BENEFITS TO THE CLIENT

  • We’ve achieved an average response time below 1 second.
  • Each API can handle the load of different sets of users.
  • As per the requirement, we sent 258 requests/second for an hour of Test Time, which added up to around 1 million requests.
  • We really recommend Reline13 to help us to scale this much of the user in a cost-effective way.