Tested with UCCX 12-5 for ST 13.5
HW specs of the tested VM
2 CPU
4GB RAM
100GB Disk size
Uploading CSV Files (Diff callers volume) in Caller List (Performance Testing):
Caller list | Upload time | Uploaded | Failed | Total in db | File size | Delete through generic clear list (Time) |
---|---|---|---|---|---|---|
200k | 2 mins | 200k | 0 | 200k | 4-5 mins | |
300k | 8-9 mins | 300k | 0 | 300k | 7-8 mins | |
200k | 3 mins | 200k | 0 | 200k | 8064kb | |
200k | 1 min | 99999 | 100001 | 99999 | 5913kb | |
178845 | 57 sec | 99999 | 78846 | 5407kb | ||
100k | 53 | 98784 | 1216 | 4677kb | ||
100k | 3 mins | 100k | 0 | 100k | 3994kb | |
25k | 34 sec | 25k | 25k | 64 secs | ||
25k | 34 sec | 25k | ||||
50k | 24 sec | 50k | 0 | 50k | ||
194817 | 27 lacs callers db | 182 secs (also a delay of callers visibility | ||||
594817 | 25 lacs callers db | 708 sec ( some delay in callers visibility in caller list) | ||||
300k | 324 secs | 300k | ||||
200k | 138 secs | 200k | ||||
178k | 60 secs | 99999 | 78846 | |||
Note: there is some delay after uploading the csv on UI, time it took for callers visibility in caller list is around 5 to 8 mins.
Load Test:
Software for load test: Apache JMeter
Why is it needed?
User need to know about the load testing of Supervisor tool. User have a call volume of over 100k on some helpline in PTCL and User will call supervisor tool caller list before those helplines. User need to know many hits can supervisor tool handle easily?
User can use a single caller list for all the helplines or separate for each helpline? How many data user can add into a callerlist with affecting the response?
API for Load test
API load testing is done for caller list, Easy Announcement, Business Calendar
API for Easy announcement is used to get announcement(s) of type “General”. This gives the details of an easy announcement, including id, name and prompts string within the easy announcement.
API for caller list to check whether a specific caller exist in the list or not. It also returns the prompts associated to a particular caller list
The Service Status API for Business calendar checks the status of a calendar, i.e. if the agency is Opened, Closed, has a Holiday or an Exceptional opening or closing. For more detail visit
Load test result is given with the following configuration:
Throughput in sample per unit: 70
Number of threads (users): 1
Ramp up period : 1 sec
Loop count: 100k
Thread Lifetime: 86400 secs (24 hr)
It means the 100k requests will be hit in duration of 24 hrs.
Total callers in db 463948
First load test was run for 24 hours for 100k (threads) each for easy announcement and business calendar. Both thread groups running concurrently and detailed load test results is in attached file.
After that another load test started for 24 hours for 100k (threads) each for All caller list and caller list easy announcement and business calendar concurrently and detailed load test results can be view in attached file.
four thread groups were running concurrently.
Two scenarios were tested for all caller list a calling number is provided in API where it will checks in all caller list that the calling number exist or not in all caller list where total callers in caller list are 463948. While another scenario API includes only calling number and caller list and that caller list has 100k caller in it. so it checks either calling number exist in the caller list of 100k caller or not. These cases were tested to see the overall performance in both scenarios.
Given is the resulted reports for all caller list, easy announcement and business calendar.
one thing noticeable is in caller API for 100k list the number in that calling list expired due to TTL and the cron job started at 1 am so user can notice the http request failing after 1:00 as the number expired and removed after the TTL job.
Following are the load test result for different number of thread(users)
Ramp-up Period (secs) | Number of Threads (Users) | Elapsed time of current running test | Loop Count | |
---|---|---|---|---|
1 | 20 | 2 sec | Callers are visible | 1 |
1 | 50 | 6 sec | Callers are not visible in caller list during load test | 1 |
1 | 300 | 29 sec | Callers are not visible in caller list during load test | 1 |
1 | 500 | 50 sec | Callers are not visible in caller list during load test | 1 |
5 | 500 | 47 sec | Callers are not visible in caller list during load test | 1 |
60 | 500 | 1 min 12 sec | Callers are visible in caller list during load test with delay of 5 to 6 secs | 1 |
100 | 500 | 1 min 39 sec | callers are visible during load test | 1 |
1 | 1000 | 1 min 35 sec | Callers are not visible in caller list during load test | 1 |
1 | 2000 | 02 min 39 sec | Callers are not visible in caller list during load test | 1 |
1 | 100k | 1hour 52 mins | Callers and caller list are not visible after the load test. Container of caller list goes into unhealthy state. | 1 |
Later tested Again with different calling number Results are given