...
In this workflow, we are checking the performance of POST /loan-storage/loans API for creating loans in bulk in the Honeysuckle release -
Jira Legacy | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
- 7.2 million UChi SRS records
- 7.2 million inventory records
- 63 FOLIO back-end modules deployed in 110 ECS services
- 3 okapi ECS services
- 10 m5.large EC2 instances
- 1 writer db.r5.xlarge 1 reader db.r5.xlarge AWS RDS instance
- INFO logging level
High-Level Summary
- As the number of instances to export increases from 1 - 500,000 for 1, 2 users, performance improves. For all cases, mod-data-export, mod-source-record-storage is stable and performant.
- data-export/job-executions API is polled every 3 seconds vs 5 seconds in Goldenrod. This means there are more requests overall but it also improves data-export execution. Data-export job completes faster(around 2 seconds) compared to the previous release. Other than that, data-export is stable and see performance improvements compared to the Goldenrod release.
- A new feature added for data-export is it will kill failed job every 6 hoursFor 1 user, in 30 minutes, we can create 71,099 loans in bulk by making a request directly to storage API POST /loan-storage/loans. Therefore, we can create 142,198 loans in 1 hour.
- On average it takes 25 milliseconds to create 1 loan
Test Runs
1 user can create 71099 loans in 30 minutes by making a request to POST /loan-storage/loans
Requests | Duration | Total loan requests | Success | Fail | ReqRequests/ssec | Min | 75th pct | Max(millisecond) | Average (millisecond) | Latency (milliseconds) |
---|---|---|---|---|---|---|---|---|---|---|
mod-circulation-storage POST /loan-storage/loans | 30 min | 71099 | 71099 | 0 | 39.499 | 0.018 | 25 | 34.9 | 25 | 37 |
...