Check-in-check-out Test Report Sunflower [non-ECS] CSP1 & CSP2
- 1 Overview
- 2 Summary
- 3 Test Runs
- 4 Results
- 5 Service CPU utilization
- 6 Service memory usage
- 7 Database metrics
- 8 Longevity test
- 9 Database metrics
- 10 Appendix
- 10.1 Infrastructure
- 10.2 secp1-pvt resources
- 11 CSP2
- 11.1 Summary
- 11.2 Testing results
- 11.3 Resources usage
- 11.3.1 CPU
- 11.3.2 Memory
- 11.3.3 DB Metrics
- 11.4 Cluster Resources - secp1-pvt (Wed Nov 05 10:56:12 UTC 2025)
Overview
Regression testing of Circulation Check-in Check-out (CICO) workflow in Sunflower CSP1 & CSP2 (CSP2 with LightWaightToken)in scope of https://folio-org.atlassian.net/browse/PERF-1195 ;
The purpose of CICO testing:
Define system behaviour (ECS resource usage, DB resource usage, queries) with different load;
Measure response times of Sunflower CSP1&CSP2 and compare them with Sunflower to define trends;
Find anomalies and performance issues if any. If possible recommend improvements;
Summary
Most Check-In Check-Out tests finished successfully with few failed requests per test due to data issues.
Tests for 8,20,30 and 75 users were performed on row, no issues defined “in between tests“. No signs of memory leaks on related modules.
Response times are 9-14% faster compared to Sunflower for Check-Out and 8-16% faster for Check-in.
Longevity test response times are 7.2% slower for Check out and 2.6% slower for Check in compared with Sunflower.
Test Runs
Test # | vUsers | Ramp-up, sec | Duration, sec |
|---|---|---|---|
1 | 8 | 80 | 2700 |
2 | 20 | 200 | 2700 |
3 | 30 | 300 | 2700 |
4 | 75 | 750 | 2700 |
5 | 30 | 300 | 36000 |
Results
Label | Response times (ms) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
8 vUsers (test #1) | 20 vUsers (test #2) | 30 vUsers (test #3) | 75 vUsers (test #4) | |||||||||
#Samples | 95th pct | Avg. | #Samples | 95th pct | Avg. | #Samples | 95th pct | Avg. | #Samples | 95th pct | Avg. | |
Check-In Controller | 1992 | 636 | 414 | 4900 | 575 | 396 | 7330 | 615 | 403 | 16801 | 1132 | 653 |
Check-Out Controller | 2586 | 1228 | 905 | 6523 | 1181 | 875 | 9792 | 1276 | 889 | 22391 | 2436 | 1456 |
POST_circulation/check-in-by-barcode (Submit_barcode_checkin) | 1992 | 252 | 196 | 4901 | 263 | 183 | 7331 | 262 | 181 | 16803 | 573 | 299 |
POST_circulation/check-out-by-barcode (Submit_barcode_checkout) | 2586 | 425 | 339 | 6523 | 436 | 326 | 9792 | 481 | 332 | 22406 | 1274 | 619 |
GET_circulation/loans (Submit_barcode_checkout) | 2586 | 196 | 148 | 6523 | 193 | 143 | 9792 | 210 | 146 | 22393 | 507 | 251 |
Comparisons vs Sunflower
| Response Times, milliseconds | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8 vUsers (test #1) | 20 vUsers (test #2) | 30 vUsers (test #3) | 75 vUsers (test #4) | |||||||||||||
Requests | Sunslower CSP1 | Sunflower |
|
| Sunslower CP1 | Sunflower |
|
| Sunslower CP1 | Sunflower |
|
| Sunslower CP1 | Sunflower |
|
|
Label | Average | Delta,ms | Delta% | Average | Delta,ms | Delta% | Average | Delta,ms | Delta% | Average | Delta,ms | Delta,% | ||||
Check-Out Controller | 905 | 995 | -90 | -9.05% | 875 | 1000 | -125 | -12.50% | 889 | 1040 | -151 | -14.52% | 1456 | 1629 | -173 | -10.62% |
Check-In Controller | 414 | 450 | -36 | -8.00% | 396 | 456 | -60 | -13.16% | 403 | 464 | -61 | -13.15% | 653 | 782 | -129 | -16.50% |
Comparison of longevity test
30 vUsers Longevity (test #5) | ||||
|---|---|---|---|---|
Response Times, milliseconds avg. | Sunflower comparison | |||
Requests | Sunflower CP1 | Sunflower | Delta,ms | Delta,% |
Check-Out Controller | 1158 | 1080 | +78 | +7.22% |
Check-In Controller | 425 | 414 | +11 | +2.66% |
Service CPU utilization
most used modules:
module | max CPU |
|---|---|
mod-inventory-storage-b | 158% |
mod-users-keycloak-b | 130% |
mod-roles-keycloak-b | 103% |
Service memory usage
Memory usage showed stable trends with no spikes and growths.
Database metrics
Longevity test
Service CPU utilization
Service memory usage
Database metrics
Appendix
Infrastructure
PTF -environment secp1 |
|---|
|