Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
In this workflow, we are checking the performance of RMB 32 / Vert.x 4.0.0 with mod-configuration for the Honeysuckle release.
We tested it with 15, 2 8 virtual users for 30 minutes.
Backend:
- mod-users-17.1.0
- mod-users-bl-6.0.0
- mod-authtoken-2.5.1
- mod-permissions-5.11.2
- mod-configuration-5.5.0
- mod-configuration-5.6.0
- okapi-4.3.3
Environment:
- 63 back-end modules deployed in 110 ECS services
- 3 okapi ECS services
- 8 m5.large EC2 instances
- 2 (1 reader, 1 writer) db.r5.xlarge AWS RDS instance
- INFO logging level
High Level Summary
- On average POST_/circulation/renew-by-barcode API call takes average 671.12 seconds as we gradually increase the number of loans and users to 200 and 2 respectively.
- POST_/circulation/renew-by-barcode API makes 26 different API requests to gather userBarcode and itemBarcode information. 34% of those are calls are to mod-authtoken. See Recommended Improvements for the JIRAs that were covered by this testing effort.
- No missing indexes or no suspicious slow queries found except a number of SELECT count_estimate() calls.
GET by id is ~43% faster
POST is ~40% faster
DELETE is ~43% faster
Test Runs
Test | Virtual Users | Duration |
OKAPI log level
1. |
5 | 30 min |
WARNING
10, 50, 100, 200
2. |
2
30 min
WARNING
10, 50, 100, 200
8 | 30 min |
Results
mod-configuration-5.5.0
...
API | 5 Users Average | 8 Users Average |
GET_/configurations/entries/configId | 25 ms | 25 ms |
POST_/configurations/entries | 28 ms | 28 ms |
DELETE_/configurations/entries/configId | 26 ms | 26 ms |
- Below is the dependency graph generated from Giraffe for single POST_/circulation/renew-by-barcode API. It shows individual calls made by renew-by-barcode to gather prerequisite data from different APIs such as item-storage, location-units, loan-types, request-storage, notice-policy, locations, and mod-authtoken. In all, this call took 990 ms, and 6% of that is consumed by mod-authtoken and the remaining 94% of the time is taken by other APIs to gather prerequisite data.
Database CPU Utilization
The database CPU usage increases gradually for 1, 2 users run. At maximum 9% CPU usage for 1 user.
Database CPU Utilization
The database CPU utilization is around 9%-10% for both releases. mod-configuration-5.6.0 consumes less CPU for 5 Users compared to mod-configuration-5.5.0
mod-configuration-5.5.0
mod-configuration-5.6.0
Service CPU Utilization
For 2 users, max CPU utilization increases and then stabilizes as the number of loans increases. Therefore, CPU utilization is relatively on the lower side.
...
7%
...
8%
...
14%
...
15%
...
15%
...
15%
...
For 1 run of 30 minutes test, following queries were made. To point out, total calls made and the total time spend on these queries is significant.
...
...
mod
...
Service CPU Utilization
Service CPU utilization is relatively on a lower side for most modules except for mod-circulation. For service with the highest CPU utilization is shown by range to get a better picture.
...
3%
...
10%
...
3.25%
...
17.75%
...
70%-122.75%
...
11.75%
-configuration-5.5.0
mod-configuration-5.6.0
Service Memory Utilization
Service memory was stable for most modules except mod-circulation which was on the higher side. For service with the highest Memory utilization is shown by range to get a better picture.
...
...
mod-
...
63%
...
configuration-5.5.0
mod-
...
65%
...
56%
...
113%-118%
...
49%
Graph for service memory utilization for mod-circulation. Memory usage started at ~113%, rose to ~118% and fall back to ~101%
...
- The following JIRAs has been created for mod-authtoken optimization:
Jira Legacy server System Jira columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 01505d01-b853-3c2e-90f1-ee9b165564fc key MODAT-80
Jira Legacy server System Jira columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 01505d01-b853-3c2e-90f1-ee9b165564fc key MODAT-83
Appendix
See Attached user_loanRenewals-test-report.xlsx for details configuration-5.6.0