PTF-Performance retesting of Eureka with native sidecars 3.0.10 (CSP1)
Overview
PTF plan to test performance using the upcoming sidecar version 3.0.10-nb (native binaries), which will be included in CSP1.
The goal is to compare the performance of the native binary sidecars v3.0.10 against Sunflower CSP1.
Note! Testing were conducted sidecar version 3.0.10-nb and Light weight token
For the evaluation we will run:
CICO (Check-In / Check-Out) tests: 8, 20, 30, and 75 users, duration - 45 minutes;
CICO (Check-In / Check-Out) Longivity test: 30-user longevity test for 10 hours;
Data Import tests (Create and Update) with 5K, 10K, 25K, 50K, and 100K records to validate sidecar performance under different data volumes.
Ticket:
https://folio-org.atlassian.net/browse/PERF-1209
Summary
All tests finished successfully without significant errors and module/sidecars crashes.
Data-import
For Create operations Sidecars 3.0.10-nb demonstrates consistent ~20–30 % improvement for 5k-100k records set
For Update operations, 3.0.10-nb has higher update durations (≈ 20–40 % slower) for 10k-100k records set.
Check-In and Check-Out. Average response times for both Check-In and Check-Out increased sharply.
As the number of virtual users grew from 8 to 75, average response times increased from 35% to 17 timesSidecars resource utiization
a) CPU utilization graph demonstrates a correlation between the increase in workload (load) and the CPU resource consumption across the containers. No anomalies detected;
b) Memory utilization graph illustrates stable memory usage across the containers throughout the entire testing period, no memory leaks.The stability of Sidecar version 3.0.10-nb has been verified through CICO (Check-In / Check-Out) Longevity Test.
The test, which simulated a high-load environment by running a 30-user longevity scenario for 10 hours, was completed without any issues. The system showed stability throughout the entire test , with no crashes, performance degradation.
Test Runs
CICO (Check-In / Check-Out)
Test # | vUsers | Ramp-up, sec | Duration, sec | Comment |
|---|---|---|---|---|
1 | 8 | 80 | 2700 | native binaries sidecar |
2 | 20 | 200 | 2700 | native binaries sidecar |
3 | 30 | 300 | 2700 | native binaries sidecar |
4 | 75 | 750 | 2700 | native binaries sidecar |
5 | 30 | 300 | 36000 | native binaries sidecar longevity test |
Data Import
Test # | Size | Profile |
|---|---|---|
1 | 5K | PTF-Create-2 |
2 | 10K | PTF-Create-2 |
3 | 25K | PTF-Create-2 |
4 | 50K | PTF-Create-2 |
5 | 100K | PTF-Create-2 |
6 | 5K | PTF-UpdateSuccess-6 |
7 | 10K | PTF-UpdateSuccess-6 |
8 | 25K | PTF-UpdateSuccess-6 |
9 | 50K | PTF-UpdateSuccess-6 |
10 | 100K | PTF-UpdateSuccess-6 |
Results/Comparisons
CICO comparison
S CSP1 - Sunflower CSP1 release original testing results
S(version-nb) - Sunflower version results with native binaries sidecars
| Response Times, milliseconds | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
8 vUsers (test #1) | 20 vUsers (test #2) | 30 vUsers (test #3) | 75 vUsers (test #4) | |||||||||
Requests | S | S | S | S CSP1 | S | S | S CSP1 | S | S | S CSP1 | S | S |
Label | Average | Average | Average | Average | ||||||||
Check-Out Controller | 905 | 835 | 1225 | 875 | 835 | 1456 | 889 | 835 | 1409 | 1456 | 835 | 6607 |
Check-In Controller | 414 | 377 | 618 | 396 | 377 | 766 | 403 | 377 | 2141 | 653 | 377 | 10913 |
CSP1 Check-in-check-out Test Report Sunflower [non-ECS]. https://folio-org.atlassian.net/wiki/spaces/FOLIJET/pages/1209040897/Check-in-check-out+Test+Report+Sunflower+non-ECS+CSP1?themeState=dark%3Adark+light%3Alight+spacing%3Aspacing+typography%3Atypography-refreshed+colorMode%3Alight
Data Import Comparison
This set of test were performed to check sidecars durability during high load and compare durations of data import.
Test # | Data-import test | Profile | Duration Sunflower CSP1
| Duration Sunflower 3.0.4-nb | Duration Sunflower 3.0.10-nb | Delta Duration (CSP1 - 3.0.10-nb) | Direction | Status |
|---|---|---|---|---|---|---|---|---|
1.1 | 5k MARC BIB Create | PTF - Create 2 | 3 min 4 s | 2 min 24 s | 2 min 01 s | 1 min 3 s | faster | Completed |
1.2 | 10k MARC BIB Create | PTF - Create 2 | 5 min 25 s | 4 min 56 s | 4 min 14 s | 1 min 11 s | faster | Completed |
1.3 | 25k MARC BIB Create | PTF - Create 2 | 11 min 27 s | 11 min 44 s | 10 min 09 s | 1 min 18 s | faster | Completed |
1.4 | 50k MARC BIB Create | PTF - Create 2 | 24 min 33 s | 20 min 54 s | 20 min 14 s | 4 min 19 s | faster | Completed |
1.5 | 100k MARC BIB Create | PTF - Create 2 | 54 min 31 s | 42 min 39 s | 44 min 16 s | 10 min 15 s | faster | Completed |
2.1 | 5k MARC BIB Update | PTF - Updates Success - 6 | 5 min 7 s | 3 min 41 s | 2 min 37 s | 2 min 30 s | faster | Completed |
2.2 | 10k MARC BIB Update | PTF - Updates Success - 6 | 8 min 13 | 8 min 7 s | 6 min 45 s | 1 min 28 s | faster | Completed |
2.3 | 25k MARC BIB Update | PTF - Updates Success - 6 | 19 min 27 s | 18 min 11 s | 17 min 04 s | 2 min 23 s | faster | Completed |
2.4 | 50k MARC BIB Update | PTF - Updates Success - 6 | 37 min 11 s | 35 min 59 s | 35 min 20 s | 1 min 51 s | faster | Completed |
2.5 | 100k MARC BIB Update | PTF - Updates Success - 6 | 1 hr 29 min | 1 hr 17 min | 1 hr 09 min | 20 min | faster | Completed with erros* |
*org.folio.inventory.dataimport.exceptions.DataImportException: handle:: Failed to update Instance with id = 39ca526c-0598-4faf-a8eb-7a25e707a46b. Instance with source=LINKED_DATA cannot be updated using Data Import. Please use Linked Data Editor
This errors related due to the data preparation for Linked Data performance testing. 1 or 2 records failed during DI
CSP1 Data-import Test Report Sunflower [non-ECS].https://folio-org.atlassian.net/wiki/spaces/FOLIJET/pages/1200652289
Resource Utilization
Below charts represents resouce usage during tests.
CICO Test 1-4
CPU utilization during CICO tests
Memory utilization during CICO tests
Database CPU utilization during CICO tests. Before each test you can observe CPU spikes - data preparation for CICO
Database Connections
RDS Performace metrics
Sidecar resources utilization
Sidecars CPU utiization
The provided graph clearly demonstrates a direct correlation between the increase in workload (load) and the CPU resource consumption across the containers.
Sidecars Memory utiization
The provided graph illustrates stable memory usage across the containers throughout the entire testing period, demonstrating resilience despite fluctuations in the workload (load).
CICO Test 5. Longevity test
CPU utilization during CICO longivity test
Memory utilization during CICO longivity test
Database CPU utilization
Database Connections
RDS Performace metrics
Data Import
Test 1-5 with MarcBib create profile
CPU utilization during Data-import tests
Memory utilization during Data-import tests
Database CPU utilization
Database Connections
RDS Performace metrics
Test 6-10 with MarcBib update profile
CPU utilization during Data-import tests
Memory utilization during Data-import tests
Database CPU Utilization
Database Connections
RDS Performace metrics
Appendix
Infrastructure
PTF -environment secp1 |
|---|
|