Skip to content
This repository was archived by the owner on Dec 19, 2025. It is now read-only.
surajp28 edited this page Apr 20, 2021 · 9 revisions

Load Testing of the service has been done by starting with 100 users and 100 requests. The number of users and requests have been in the following way. The logic for increasing requests for a specific user is to denote subsequent requests made by a user immediately after the previous one.

  1. 100 users with 100 requests running 1 loop
  2. 100 users with 500 requests running 5 loops
  3. 100 users with 1000 requests running 10 loops
  4. 100 users with 10000 requests running 100 loops
  5. 500 users with 500 requests running 1 loop
  6. 500 users with 1000 requests running 2 loops
  7. 500 users with 10000 requests running 20 loops
  8. 1000 users with 1000 requests running 1 loop
  9. 1000 users with 10000 requests running 10 loops
  10. 10000 users with 10000 requests running 1 loop.

The signup service has been tested following the above approach. The following results were found.

  1. 100 users with 100 requests running 1 loop - 100 users with 100 requests running 1 loop – The average was found to be 100 requests processed at 823ms/sec. The throughput was 60.3/sec with all requests getting successfully processed. Graph - Graph Sumary - Summary

  2. 100 users with 500 requests running 5 loops - The average was found to be 500 requests processed at 1806ms/sec. The throughput was 47.8/sec with all requests getting successfully processed. Graph - Graph Summary - Summary

  3. 100 users with 1000 requests running 10 loops - The average was found to be 1000 requests processed at 1880ms/sec. The throughput was 49.1/sec with all requests getting successfully processed. Graph - Graph Summary - Summary

  4. 100 users with 10000 requests running 100 loops - The average was found to be 10000 requests processed at 2063ms/sec. The throughput was 48.2/sec with all requests getting successfully processed. Graph - Graph Summary - Summary

  5. 500 users with 500 requests running 1 loop - The average was found to be 500 requests processed at 7341ms/sec. The throughput was 37.7/sec with all requests getting successfully processed. Graph - Graph Summary - Summary

  6. 500 users with 1000 requests running 2 loops - The average was found to be 1000 requests processed at 8989ms/sec. The throughput was 42.7/sec with all requests getting successfully processed. Graph - Graph Summary - Summary

  7. 500 users with 10000 requests using 20 loops - The average was found to be 10000 requests processed at 10212ms/sec. The throughput was 48.1/sec with all requests getting successfully processed. Graph - Graph Summary - Summary

  8. 1000 users with 1000 requests using 1 loop - The average was found to be 1000 requests processed at 14667ms/sec. The throughput was 39.1/sec with all requests getting successfully processed. Graph - Graph Summary - Summary

  9. 1000 users with 10000 requests using 10 loops - The average was found to be 10000 requests processed at 20031ms/sec. The throughput was 47.5/sec with 9778 requests being processed correctly. Graph - Graph Summary - Summary

Since the requests were not processed for 1000 we increased the number of replicas to 2. Due to this an accuracy of 1000 queries processed can be seen. Graph - Graph2 Summary - Summary2

  1. 10000 users with 10000 requests using 1 loop - We found that Jmeter couldn't handle 10000 requests with 1 user. The output used to stop at random requests each time.

Conclusion - The signup function works as expected uptil 1000 users and 10000 requests with approximately 300 requests not passing. This was handled by increasing the number of replicas to 2.

It is visible for the above results that given limited users, the average time taken to process is less, but with an increase in users - the average time to process a request increases, and the throughput(No of requests processed) decreases. Apart from 100 users with 100 requests, where the throughput was surprisingly high, it was low where the number of users and requests for same.

Clone this wiki locally