Kafka v4.1 Performance Verification

Kafka v4.1 Performance Verification

Overview

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

Kafka version 3.7

Kafka version 4.1

Service CPU Utilization
mod-circulation is the top CPU consumer. With 8 users, peak CPU is ~74.5% (Kafka 3.7) vs ~79.9% (Kafka 4.1); with 25 users, ~235% (Kafka 3.7) vs ~204% (Kafka 4.1). Minor variations are within normal run-to-run fluctuation.

8usersCICOServiceCPU.png
25usersCICOServiceCPU.png

 

image-20260506-074907.png
image-20260506-075204.png

 

Service Memory Usage
Memory usage is stable across both Kafka versions.

8 users:

8usersCICOServiceMemory.png

25 users:

25usersCICOServiceMemory.png

 

8 users:

image-20260506-075256.png

25 users:

image-20260506-075354.png

 

RDS CPU Utilization
The average RDS CPU is ~13–14% for 8 users and ~24–25% for 25 users in both Kafka versions — nearly identical.

8usersCICORDSCPU.png
25usersCICORDSCPU.png

 

image-20260506-075629.png
image-20260506-075757.png

 

RDS Database Connections
Database connections remain stable at ~1,600 across all runs with no meaningful difference between Kafka versions.

8 users:

8usersCICORDSConnections.png

25 users:

25usersCICORDSConnections.png

8 users:

image-20260506-075850.png

25 users:

image-20260506-075957.png

 

Kafka metrics
Kafka 4.1 shows slightly lower CPU (System max: 2.7–2.92% vs 3.46–3.48%; User max: 8.49–9.52% vs 11.2–12.3%)

8 users:

8usersCICOKafka.png

25 users:

25usersCICOKafka.png

 

8 users:

image-20260506-080543.png

25 users:

image-20260506-080643.png

 

 

Resource utilization comparison for DI tests:

Kafka version 3.7

Kafka version 4.1

Kafka version 3.7

Kafka version 4.1

Service CPU Utilization
Kafka 4.1 shows a slightly lower Create peak but higher Update peak, consistent with the different execution durations (faster completion on 4.1).

DICUServiceCPU.png

 

image-20260506-101110.png

 

Service Memory Usage
Memory usage is stable across both Kafka versions.

DICUServiceMemory.png

 

image-20260506-101144.png

 

RDS CPU Utilization
RDS CPU reaches high utilization (~92%) during both phases in both versions.

DICURDSCPU.png
image-20260506-101437.png

 

RDS Database Connections
Max count of connections ~1,860 across both Kafka versions.

image-20260514-081840.png

 

image-20260514-081856.png

 

Kafka metrics
Kafka 4.1 shows comparable CPU System usage (4.28% vs 4.8%) but higher CPU User peaks during Update (up to 32.5% vs 28.5%), correlating with faster completion.

DICUKafka.png

 

image-20260506-101645.png

 

 

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

 

 

Module

Task Definition Revision

Module Version

Task Count

Mem Hard Limit

Mem Soft Limit

CPU Units

Xmx

Metaspace Size

Max Metaspace Size

mod-remote-storage

11

mod-remote-storage:3.4.3

2

4920

4472

64

3960

512

512

mod-remote-storage - Sidecar 1

N/A

folio-module-sidecar:3.0.18.nb

N/A

1024

512

64

256

0

96

mod-finance-storage

11

mod-finance-storage:8.8.4

2

1024

896

64

700

88

128

mod-finance-storage - Sidecar 1

N/A

folio-module-sidecar:3.0.18.nb

N/A

1024

512

64

256

0

96

mod-ebsconet

10

mod-ebsconet:2.4.0

2

1248

1024

64

700

128

256

mod-ebsconet - Sidecar 1

N/A

folio-module-sidecar:3.0.18.nb

N/A

1024

512

64

256

0

96

mod-mosaic

3

mod-mosaic:1.0.0

2

1024

896

64

768

88

128

mod-mosaic - Sidecar 1

N/A

folio-module-sidecar:3.0.18.nb

N/A

1024

512

64

256

0

96

mod-consortia-keycloak

11

mod-consortia-keycloak:1.7.3

2

5136

4776

512

4416

384

512

mod-consortia-keycloak - Sidecar 1

N/A

folio-module-sidecar:3.0.18.nb

N/A

1024