-
Notifications
You must be signed in to change notification settings - Fork 2
Image Store
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.
- 100 users with 100 requests running 1 loop
- 100 users with 500 requests running 5 loops
- 100 users with 1000 requests running 10 loops
- 100 users with 10000 requests running 100 loops
- 500 users with 500 requests running 1 loop
- 500 users with 1000 requests running 2 loops
- 500 users with 10000 requests running 20 loops
- 1000 users with 1000 requests running 1 loop
- 1000 users with 10000 requests running 10 loops
The image storing service has been tested following the above approach. The following results were found.
-
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 -
Sumary -

-
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 -
Summary -

-
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 -
Summary -

-
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 -
Summary -

-
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 -
Summary -

-
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 -
Summary -

-
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 -
Summary -

-
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 -
Summary -

-
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 -
Summary -

-
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.
Milestones