Check-in-check-out Test Report (Ramsons) [ECS]
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 okapi based environment in Ramsons ECS release.
Test on central tenant won’t happen as on ptf environment we have restored DB from Bugfest and central consortia tenant doesn’t have items. We’ll proceed testing on member tenants
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
Compare results (current and previous)
The current ticket:
PERF-983 - [Ramsons] [ECS] CI/CO
The previous results report: [ECS] Check-in-check-out Test Report (Quesnelia)
Summary
Common results:
Check-in/Check-out flows degraded 25% in average for all tests except longevity test.
Tests #1, #2, #3, #4
Response times in average:
Check-in - minimum 556 ms with 30 vUsers and maximum 659 ms with 75 vUsers.
Check-out - minimum 1120 ms with 30 vUsers and maximum 1483 ms with 75 vUsers.
Test #5
Response times in average:
Check-in - 493 ms with 30 vUsers
Check-out - 1095 ms with 30 vUsers.
Comparison with Quesnelia results:
CI/CO response times degradation (Tests #1, #2, #3, #4):
CI/CO response times (test #5 - longevity test):
30 vUsers - 13% improved in CO and 8% degraded in CI flow.
Resources
CPU utilization
CPU utilization depends on number of concurrent virtual users and increasing accordingly. Top used modules: okapi, mod-pubsub, mod-inventory, mod-inventory-storage, mod-circulation, mod-users, mod-authtoken, nginx-okapi.
During 75 vUsers test nginx-okapi module spiked from 1% to 12% during ramp-up period after 40 vUsers point.
Memory consumption
Memory consumption of mod-pubsub module grow during test #4 75 vUsers test. It can be connected to saturation point after increased load. The highest usage was at 65%.
Mod-pubsub grew during longevity test. The highest usage was at 81%.
Top 5 modules, consumption at % in 75 vUsers test: mod-oa-b - 75%, mod-pubsub-b - 69%, mod-dcb-b - 62%, mod-inventory-b - 61%, mod-data-import-b - 54%
RDS CPU utilization average
8 vUsers - 15%, 20 vUsers - 26%, 30 vUsers - 32%, 75 vUsers - 54% During longevity test CPU was 30% in average.
CPU (User) usage by broker
8 vUsers - 12%, 20 vUsers - 13%, 30 vUsers - 14%, 75 vUsers - 17%. During Longevity test - 2 brokers - 17%, 2 other brokers - 28%.
Recommendations & Jiras
mod-serials-management-b affect DB connection growth 200 connection in average. Disabling this module do not affect response times or error rate but significantly decrease DB connection number.
Investigate mod-pubsub module memory growing trend. Check errors during successful 30 vUsers test in Error block.
MODPUBSUB-311: Investigate mod-pubsub module memory growing during Check-in/Check-outClosed
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 | 86400 |
Results
Response time
The table contains results of Check-in, Check-out tests in Ramsons release.
Test #1, #2, #3, #4
Errors here connected to a short time connectivity problem during 30 seconds. Additional run for 30 vUsers didn't reveal this connectivity problem.
| 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 | 1713 | 1450 | 1153 | 2605 | 1327 | 1123 | 2380 | 1278 | 1120 | 14058 | 1823 | 1483 |
Check-In Controller | 1295 | 838 | 590 | 1943 | 706 | 559 | 1804 | 737 | 556 | 10538 | 1044 | 659 |
POST_circulation/check-out-by-barcode (Submit_barcode_checkout) | 1712 | 503 | 340 | 2604 | 450 | 324 | 2381 | 411 | 320 | 14060 | 643 | 393 |
POST_circulation/check-in-by-barcode (Submit_barcode_checkin) | 1297 | 452 | 298 | 1939 | 386 | 274 | 1796 | 383 | 269 | 10563 | 588 | 304 |
GET_circulation/loans (Submit_patron_barcode) | 1715 | 256 | 192 | 2603 | 238 | 188 | 2380 | 232 | 188 | 14069 | 412 | 237 |
GET_circulation/loans (Submit_barcode_checkout) | 1712 | 263 | 191 | 2604 | 235 | 189 | 2386 | 247 | 190 | 14060 | 369 | 233 |
GET_inventory/items (Submit_barcode_checkout) |
|
|
|
|
|
|
|
|
| 14060 | 136 | 175 |
Test #5
30 vUsers Longevity test (test #5) | |||
|---|---|---|---|
Requests |
| Samples, Response Times (ms) | |
Label | #Samples | 95th pct | Average |
Check-Out Controller | 55329 | 1311 | 1095 |
Check-In Controller | 41677 | 621 | 493 |
POST_circulation/check-out-by-barcode (Submit_barcode_checkout) | 55327 | 394 | 312 |
POST_circulation/check-in-by-barcode (Submit_barcode_checkin) | 41678 | 310 | 216 |
GET_circulation/loans (Submit_patron_barcode) | 55329 | 226 | 184 |
GET_circulation/loans (Submit_barcode_checkout) | 55327 | 227 | 185 |
GET_inventory/items (Submit_barcode_checkout) | 55329 | 74 | 54 |
Comparisons
This table has comparison between average values of response times of Ramsons and Quesnelia releases
| 8 vUsers (test #1) | 20 vUsers (test #2) | 30 vUsers (test #3) | 75 vUsers (test #4) | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Requests | Response Times, milliseconds | |||||||||||||||
| Quesnelia | Ramsons |
|
| Quesnelia | Ramsons |
|
| Quesnelia | Ramsons |
|
| Quesnelia | Ramsons |
|
|
Label | Average | Delta,ms | Difference,% | Average | Delta,ms | Difference,% | Average | Delta,ms | Difference,% | Average | Delta,ms | Difference,% | ||||
Check-Out Controller | 910 | 1153 | 243 | 26.70% | 893 | 1123 | 230 | 25.76% | 899 | 1120 | 221 | 24.58% | 1176 | 1483 | 307 | 26.11% |
Check-In Controller | 476 | 590 | 114 | 23.95% | 441 | 559 | 118 | 26.76% | 435 | 556 | 121 | 27.82% | 546 | 659 | 113 | 20.70% |
Comparison of longevity test
30 vUsers Longevity (test #5) | |||
|---|---|---|---|
Response Times, milliseconds |
|
| |
Quesnelia | Ramsons |
| |