Skip to content
This repository was archived by the owner on Dec 19, 2025. It is now read-only.

Image Store

surajp28 edited this page Apr 20, 2021 · 2 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

The image storing 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 1173ms/sec. The throughput was 58.8/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 1813ms/sec. The throughput was 51.9/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 1924ms/sec. The throughput was 49.2/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 1975ms/sec. The throughput was 50.3/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 3357ms/sec. The throughput was 83.5/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 9218ms/sec. The throughput was 42.9/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 9651ms/sec. The throughput was 49.5/sec with 9953 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 11564ms/sec. The throughput was 35/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 19507ms/sec. The throughput was 48.8/sec with 9500 requests processed correctly Graph - Graph Summary - Summary

  10. 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 image storing service works as expected until the no of images reaches as high as 10000 requests. In such a scenario, due to too many requests bombarded at the same time, not all the images get stored as expected.

Architectural changes for the result - Image Service was moved from SQLite to MongoDB for a quicker response.

Clone this wiki locally