IN-PROGRESS
Overview
Backend:
- mod-circulation-
- mod-circulation-storage-
- mod-inventory-storage-
- mod-inventory-
- okapi-
Frontend:
- folio_circulation-
- Item Check-in (folio_checkin-)
- Item Check-out (folio_checkout-)
Environment:
- 61 back-end modules deployed in 110 ECS services
- 3 okapi ECS services
- 8 m5.large EC2 instances
- 2 db.r5.xlarge AWS RDS instance
- INFO logging level
High Level Summary
Test Runs
Test | Virtual Users | Duration | OKAPI log level | Profiled |
1. | 1 | 30 min | INFO | No |
2. | 5 | 30 min | INFO | No |
3. | 8 | 30 min | INFO | No |
4. | 20 | 30 min | INFO | No |
5. | 20 | 120 min | INFO | No |
Results
Response Times
Average (seconds) | 50th %tile (seconds) | 75th %tile (seconds) | 95th %tile (seconds) | |||||
Check-in | Check-out | Check-in | Check-out | Check-in | Check-out | Check-in | Check-out | |
1 user | 1.051 | 2.101 | 1.019 | 1.936 | 1.010 | 2.093 | 1.256 | 2.816 |
5 users | 1.074 | 2.110 | 1.034 | 1.936 | 1.135 | 2.129 | 1.389 | 2.913 |
8 users | 1.195 | 2.120 | 1.103 | 1.987 | 1.326 | 2.183 | 1.664 | 3.002 |
20 users | 1.399 | 2.984 | 1.279 | 2.310 | 1.575 | 2.661 | 2.129 | 4.158 |
Slow APIs taking more than 100 ms to return
75th percentile times in seconds.
API | 1 user FF | 1 user GR | 5 users FF | 5 users GR | 8 users FF | 8 users GR | 20 Users FF | 20 Users GR |
---|---|---|---|---|---|---|---|---|
Get circulation/loans | 0.283 | 0.390 | 0.346 | 0.399 | 0.449 | 0.406 | 0.479 | 0.514 |
Get inventory/items | 0.217 | 0.220 | 0.232 | 0.213 | 0.237 | 0.235 | 0.281 | 0.267 |
POST checkin-by-barcode | 0.548 | 0.660 | 0.830 | 0.685 | 1.053 | 0.855 | 1.137 | 1.022 |
POST checkout-by-barcode | 0.615 | 0.750 | 0.905 | 0.852 | 0.906 | 0.776 | 0.988 | 0.935 |
Average | 50th Percentile | 75th percentile | 95th percentile | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Check-in FF | Check-in GR | Check-out FF | Check-out GR | Check-in FF | Check-in GR | Check-out FF | Check-out GR | Check-in FF | Check-in GR | Check-out FF | Check-out GR | Check-in FF | Check-in GR | Check-out FF | Check-out GR | |
1 user | 1.015 | 1.051 | 1.234 | 2.101 | 0.96 | 1.019 | 1.277 | 1.936 | 1.071 | 1.010 | 1.409 | 2.093 | 1.322 | 1.256 | 1.653 | 2.816 |
5 users | 1.236 | 1.074 | 1.488 | 2.110 | 1.156 | 1.034 | 1.393 | 1.936 | 1.464 | 1.135 | 1.869 | 2.129 | 1.704 | 1.389 | 2.219 | 2.913 |
8 users | 1.512 | 1.195 | 1.751 | 2.120 | 1.403 | 1.103 | 1.852 | 1.987 | 1.741 | 1.326 | 2.031 | 2.183 | 2.02 | 1.664 | 2.274 | 3.002 |
20 users | 1.649 | 1.399 | 1.898 | 2.984 | 1.535 | 1.279 | 1.996 | 2.310 | 1.896 | 1.575 | 2.211 | 2.661 | 2.252 | 2.129 | 2.539 | 4.158 |
JVM Profiling
Database
The following queries took more than 100ms to execute under load
The following table showing average CPU and memory percentages.CPU and Memory Utilization
1 user | 5 users | 8 users | 20 users | 400 users | |
---|---|---|---|---|---|
Okapi CPU | |||||
Okapi Memory |
Appendix
For more raw data of the test runs please see the attached