Check-in-check-out Test Report (Ramsons) [non-ECS] [Eureka]
Test status: PASSED
- 1 Overview
- 2 Summary
- 3 Test Runs
- 4 Results
- 4.1 Comparisons
- 4.2 Cluster Resources Utilization
- 4.2.1 CPU Utilization
- 4.2.2 Memory Consumption
- 4.2.3 RDS CPU Utilization
- 4.2.4 RDS Database Connections
- 4.2.5 Database load
- 4.3 MSK resources utilization
- 4.4 Errors:
- 5 Appendix
Overview
Regression testing of Check-In/Check-Out (CI/CO) fixed load tests on eureka based environment in Ramsons non-ECS release.
Test was carried out on central tenant.
The purposes of CI/CO testing:
To test how different load from CI/CO flow affect the system
To define response times of Check-In and Check-Out
To define the response times for requests that take longer than 100 milliseconds
To find any trends for resource utilization and recommend improvements
To check how system behaves over extended period during longevity test (SSO Session Max limit in keycloak is 10 hours)
Compare results (current and previous)
The current ticket:
PERF-1065 - [Ramsons] [non-ECS] [Eureka] CI/CO
Summary
Common results:
The Ramsons release shows good performance up to 30 virtual users (vUsers) without notable performance degradation. The significant reduction in RTs across all tests observed compared to Quesnelia. The slight RT increase after 5 hours in the CO flow in longevity test should be investigated.
Tests #1, #2, #3, #4
Average response times (RT) in tests with 8, 20, 30 vUsers were the same in average (delta - 80 ms.). Average RT in 20 vUsers test CI - 480 ms, CO - 862 ms.
Average RT in test with 75 vUsers response times grew +40% compared to 20 vUsers. Average RT in 75 vUsers test CI - 933 ms, CO - 1472 ms.
Test #5
Average RT in test #5 with 30 vUsers. CI - 442 ms, CO - 971 ms.. There's no expected degradation during 10 hours test in Average. But we can observe RT growing after 5 hours of test + 200 ms in CO flow.
No visible memory leaks found. Accumulating affect in longevity test sh
Comparison with Quesnelia results:
CI RT decreased 17% for 8 vUsers, 25% - 20 vUsers, 33% - 30 vUsers, 79% - 75 vUsers.
CO RT decreased 36% for 8 vUsers, 36% - 20 vUsers, 42% - 30 vUsers, 88% - 75 vUsers
Longevity test: CI RT decreased 66%, CO RT decreased 78%
Resources
CPU utilization
CPU utilization depends on number of concurrent virtual users and increasing accordingly. Top used modules (75 vUsers): mod-remote-storage - 102%, mod-feesfines - 55%, mod-roles-keycloak - 51%, mod-inventory-storage - 48%, mod-users - 45%
Memory consumption
Top module memory usage: folio-keycloak - 83%, mod-agreements - 73% in 75 vUsers test. Folio-keycloak used 90% in longevity.
RDS CPU utilization average
RDS CPU utilized in average: 8 vUsers - 15%, 20 vUsers - 23%, 30 vUsers - 30%, 75 vUsers - 66% During longevity test CPU was growing from 32% to 42%.
CPU (User) usage by broker
8 vUsers - 15%, 20 vUsers - 16%, 30 vUsers - 17%, 75 vUsers - 22%. During Longevity test - 17%
Recommendations & Jiras
To avoid Internal server errors during testing on eureka environment new values were applied for mod-users-keycloak and mod-users-keycloak - Sidecar 1.
Module | Mem Hard Limit | Mem Soft Limit | CPU Units | Xmx |
|---|---|---|---|---|
mod-users-keycloak | 1536 | 1480 | 256 | 1024 |
mod-users-keycloak - Sidecar 1 | 1280 | 768 | 256 | 512 |
Test Runs
The following table contains tests configuration information
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
Response time
The table contains results of Check-in, Check-out tests in Ramsons release (with modified mod-users-keycloak revision).
Test #1, #2, #3, #4
This table has comparison between average values of response times of Ramsons and Quesnelia releases (default mod-users-keycloak values)
8 vUsers (test #1) | 20 vUsers (test #2) | 30 vUsers (test #3) | 75 vUsers (test #4) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Requests | Response Times (ms) | Response Times (ms) | Response Times (ms) | Response Times (ms) | ||||||||
Label | #Samples | 95th pct | Average | #Samples | 95th pct | Average | #Samples | 95th pct | Average | #Samples | 95th pct | Average |
Check-Out Controller | 1853 | 1104 | 924 | 4554 | 952 | 862 | 6447 | 986 | 946 | 13891 | 1449 | 1472 |
Check-In Controller | 1334 | 578 | 496 | 3321 | 480 | 467 | 4942 | 518 | 495 | 10449 | 1029 | 933 |
POST_circulation/check-out-by-barcode (Submit_barcode_checkout) | 1854 | 477 | 402 | 4555 | 381 | 375 | 6449 | 396 | 398 | 13898 | 632 | 657 |
POST_circulation/check-in-by-barcode (Submit_barcode_checkin) | 1336 | 293 | 260 | 3329 | 248 | 250 | 4951 | 265 | 269 | 10472 | 425 | 449 |
GET_circulation/loans (Submit_barcode_checkout) | 1854 | 223 | 173 | 4554 | 183 | 162 | 6447 | 188 | 189 | 13893 | 279 | 304 |
GET_users (Get_check_in_page) | 10477 | 385 | 225 | |||||||||
GET_inventory/items (Submit_barcode_checkout) | 13898 | 100 | 113 | |||||||||
This table has comparison between average values of response times of Ramsons and Quesnelia releases (modified mod-users-keycloak values)
8 vUsers (test #1) | 20 vUsers (test #2) | 30 vUsers (test #3) | 75 vUsers (test #4) | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
Requests | Response Times (ms) | Response Times (ms) | Response Times (ms) | Response Times (ms) | ||||||||
Label | #Samples | 95th pct | Average | #Samples | 95th pct | Average | #Samples | 95th pct | Average | #Samples | 95th pct | Average |
Check-Out Controller | 1772 | 1175 | 965 | 4509 | 987 | 860 | 6593 | 1006 | 873 | 14632 | 1177 | 1000 |
Check-In Controller | 1380 | 765 | 608 | 3293 | 609 | 550 | 4908 | 613 | 524 | 11177 | 732 | 576 |
POST_circulation/check-out-by-barcode (Submit_barcode_checkout) | 1773 | 523 | 433 | 4509 | 408 | 365 | 6597 | 419 | 370 | 14635 | 532 | 432 |
POST_circulation/check-in-by-barcode (Submit_barcode_checkin) | 1383 | 463 | 364 | 3297 | 366 | 326 | 4917 | 368 | 297 | 11198 | 424 | 309 |
GET_circulation/loans (Submit_barcode_checkout) | 1772 | 239 | 180 | 4509 | 201 | 169 | 6594 | 209 | 173 | 14635 | 246 | 195 |
Test #5