HW specs of the tested VM
...
VM | CPU | RAM | Disk Size |
---|---|---|---|
VM (ST deployed) | 2 | 4GB |
...
100GB |
...
SQL VM | 4 vcpu | 8GB | 145GB |
Uploading CSV Files (Diff callers volume) in Caller List (Performance Testing):
Caller list | Upload time | Uploaded | Failed | File size | Delete through generic clear list (Time) |
---|---|---|---|---|---|
200k | 2 mins | 200k | 0 | 4-5 mins | |
300k | 8-9 mins | 300k | 0 | 7-8 mins | |
200k | 3 mins | 200k | 0 | 8064kb | - |
200k | 1 min | 99999 | 100001 | 5913kb | |
178845 | 57 sec | 99999 | 78846 | 5407kb | |
100k | 53 sec | 98784 | 1216 | 4677kb | |
100k | 3 mins | 100k | 0 | 3994kb | |
25k | 34 sec | 25k | 64 secs | ||
25k | 34 sec | 25k | |||
50k | 24 sec | 50k | 0 | ||
194817 | 182 secs (also a delay of callers visibility | ||||
594817 | 708 sec ( some delay in callers visibility in caller list) | ||||
300k (latest) | 324 sec (5-6 min) | 300k | |||
200k (latest) | 138 secs (2-3 min) | 200k | |||
178k (latest) | 60 sec (1min) | 99999 | 78846 | ||
178k | 178 sec | 99999 | 78846 | ||
178k | 89 sec | 178k | 5636kb | ||
300k (latest) | 239 sec | 300k | 13954kb | ||
178k | 79 sec | 5636 kb | |||
300k | 108 sec | ||||
650k | 249 sec ( 5-7 mins delay in visibility of callers in caller list) |
Note: A delay of approximately 5 to 8 minutes occurs after uploading the CSV on the UI before callers become visible in the caller list.
...
Load Test Result for Caller List:
Loop count: 100,000
Total callers in db 463948
Tested Scenarios:
Checking if a provided calling number exists in a caller list containing 463,948 callers.
Verifying if a calling number exists in a caller list of 100,000 callers.
...
This table summarizes the test result for all callers List total callers 463948 in callers.
...
Observations:
The test successfully processed 60,409 HTTP requests within the specified duration (24 hr).
The response time ranged from 0.05 seconds to 187 seconds, with an average response time of 0.7 seconds.
A small percentage (2.74%) of requests experienced response times exceeding the threshold of 10 seconds.
...
This table summarizes the test result for a caller List having 100k caller in the caller list
Observations:
The test successfully processed 60,393 HTTP requests within the specified duration (24 hr).
The response time ranged from 0.05 seconds to 187 seconds, with an average response time of 0.7 seconds.
A small percentage (2.74%) of requests experienced response times exceeding the threshold of 10 seconds.
...
Investigate and optimize the performance of the API to reduce the occurrences of response times exceeding 10 seconds.
One thing noticeable is in caller API for 100k list the number in that calling number expired due to TTL and the cron job started at 1 am so the user can notice the HTTP request failing after 1:00 as the number expired and removed after the TTL job as given below.
...
Different load test scenarios for caller list:
Scenario 1:
The load test result is run with the following configuration:
...
*one thing noticeable thread for caller list having 100k callers elapsed time is less more than the all caller (Elapsed time for 900 duration: 4 min 17 sec (single caller list) 2 mins (all caller list)). So, response time for All caller (874140 callers) where a caller list name is not mentioned to search a number from that list is more better than the caller with caller list name.
Total callers in db 874140
...
This table summarize the test result for All caller (874140)
...
Thread Group 2:
Total callers in db 874140
...
This table summarize the test result for a caller List having 100k caller in caller list
Following are the load test result for different number of thread(users)
...
Note: this result Elapsed time of current running test can varies depending on configuration in jmeter, network latency, server performance/load.
Load Test Result for Easy Announcement and Business Calendar:
Easy announcement:
Thread Group 3:
API | Duration | Constant Throughput Timer | Threads (users) | Ramp up (sec) | Number of sample( total http request hits) | Response Time(sec) GET API | Benchmark | Result | |||
---|---|---|---|---|---|---|---|---|---|---|---|
Min | Max | Avg | Response time for GET API should not be more than 10 sec | ||||||||
1. | GET API | 24 hr (86400) | 70 | 1 | 1 | 100k | 0.027 sec | 5.9 sec | 0.05 sec | 0.00 % | Pass |
This table summarizes the test result for Easy Announcement
...
Observations:
The test successfully processed 100k HTTP requests within the specified duration (24 hr).
The response time ranged from 0.02 seconds to 5.9 seconds, with an average response time of 0.05 seconds.
A percentage (0.00%) of requests experienced response times exceeding the threshold of 10 seconds.
Thread Group 4:
Business calendar:
API | Duration | Constant Throughput Timer | Threads (users) | Ramp up (sec) | Number of sample( total http request hits) | Response Time(sec) GET API | Benchmark | Result | |||
---|---|---|---|---|---|---|---|---|---|---|---|
Min | Max | Avg | Response time for GET API should not be more than 10 sec | ||||||||
1. | GET API | 24 hr (86400 sec) | 70 | 1 | 1 | 100k | 0.033 sec | 25 sec | 0.06 sec | 0.002 % | pass |
This table summarizes the test results for the Business Calendar
...
Observations:
The test successfully processed 100k HTTP requests within the specified duration (24 hr.)
The response time ranged from 0.03 seconds to 25 seconds, with an average response time of 0.002 seconds.
A percentage (0.00%) of requests experienced response times exceeding the threshold of 10 seconds.