Kafka v4.1 Performance Verification
Overview
This document contains performance testing results comparing new version Kafka v4.1 with Kafka v3.7 in the Sunflower Eureka consortium (SECON) environment.
Jira
PERF-1381: Verify FOLIO Performance with Kafka v4.1Closed
Summary
Performance verification was conducted with MSK running Kafka v4.1, with baseline tests executed on Kafka v3.7 for comparison.
Check-In/Check-Out workflow was tested with 8 and 25 concurrent users.
Data Import tested with 25K instances (Marc BIB Create and Update).
Comparison of results between Kafka 3.7 and Kafka 4.1 shows minor differences in response times for the Check-In/Check-Out:
With 8 users, the maximum difference is +34 ms for Check-In and +81 ms for Check-Out;
With 25 users, the maximum difference is +10 ms for Check-In and +45 ms for Check-Out;
Overall, no consistent performance degradation or improvement is observed across runs.
Data Import showed reduced execution time on Kafka 4.1:
25K Creates: 1 min 29 sec faster;
25K Updates: 3 min 25 sec faster.
Resource utilization remained largely consistent across both Kafka versions for identical workloads, including service CPU and Memory, DB CPU, DB Connections, and Kafka metrics.
Test Runs
Test | Test description | Status |
Test 1-3 | Check-In and Check-Out with 8 users | Completed |
Test 4-6 | Check-In and Check-Out with 25 users | Completed |
Test 7 | Data Import Create using “PTF - Create 2“ profile | Completed |
Test 8 | Data Import Update using “PTF - Update Success - 6“ profile | Completed |
Results
This table contains CICO Response Times:
| Kafka version 3.7, average Response Times (ms) | |||||
| 8 users-Test 1 | 8 users-Test 2 | 8 users-Test 3 | 25 users-Test 1 | 25 users-Test 2 | 25 users-Test 3 |
Check-In Controller | 422 | 436 | 433 | 406 | 405 | 397 |
Check-Out Controller | 993 | 969 | 993 | 1024 | 1012 | 1000 |
| Kafka version 4.1, average Response Times (ms) | |||||
8 users-Test 1 | 8 users-Test 2 | 8 users-Test 3 | 25 users-Test 1 | 25 users-Test 2 | 25 users-Test 3 | |
Check-In Controller | 456 | 437 | 432 | 393 | 415 | 402 |
Check-Out Controller | 1074 | 1011 | 997 | 1004 | 1057 | 1018 |
This table contains DI durations:
Kafka version 3.7 | ||
Number of records | DI Create duration | DI Update duration |
25,000 | 12 min 29 sec | 19 min 02 sec |
Kafka version 4.1 | ||
Number of records | DI Create duration | DI Update duration |
25,000 | 11 min | 15 min 37 sec |
Comparisons
Comparison between tests with Kafka version 3.7 and Kafka version 4.1:
| 8 users-Test 1 | 8 users-Test 2 | 8 users-Test 3 | 25 users-Test 1 | 25 users-Test 2 | 25 users-Test 3 |
Check-In Controller | +34 ms | +1 ms | -1 ms | -13 ms | +10 ms | +5 ms |
Check-Out Controller | +81 ms | +42 ms | +4 ms | -20 ms | +45 ms | +18 ms |
Number of records | DI Create | DI Update |
25,000 | -1 min 29 sec | -3 min 25 sec |
Resources Utilization/comparison
Resource utilization comparison for CICO tests:
Kafka version 3.7 | Kafka version 4.1 |
|---|---|
Service CPU Utilization | |
|
|
Service Memory Usage | |
8 users: 25 users:
| 8 users: 25 users:
|
RDS CPU Utilization | |
|
|
RDS Database Connections | |
8 users: 25 users: | 8 users: 25 users:
|
Kafka metrics | |
8 users: 25 users:
| 8 users: 25 users:
|
Resource utilization comparison for DI tests:
Kafka version 3.7 | Kafka version 4.1 |
|---|---|
Service CPU Utilization | |
|
|
Service Memory Usage | |
|
|
RDS CPU Utilization | |
| |
RDS Database Connections | |
|
|
Kafka metrics | |
|
|
Appendix
Infrastructure
PTF - environment secon
8 r7g.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
1 instance of db.r7g.xlarge database instance: Writer instance
MSK
Baseline: fse-test
- 4 m7g.2xlarge brokers in 2 zones
- Apache Kafka version 3.7.x
- EBS storage volume per broker 300 GiB
Test: fse-test-1
- 4 m7g.2xlarge brokers in 2 zones
- Apache Kafka version 4.1.x
- EBS storage volume per broker 300 GiB
OpenSearch 2.19 ptf-test cluster
r7g.2xlarge.search 4 data nodes
r7g.large.search 3 dedicated master nodes