Table of Contents |
---|
...
- Comparing kafka.m5.2xlarge, zookeeper metadata mode against kafka.m7g.2xlarge, KRaft metadata mode
- Tests with KRaft mode enabled utilize less CPU resources by brokers ((5% at least, for some broker - 13%) during CI/CO and during DI + CI/CO and at the same time the CPU utilizations are more balanced across the brokers compared to zookeeper mode
- The previous test results * showed that the performance actually the same for m5 and m7g clusters so m7g and m7g KRaft mode should perform the same way as well. Results for comparison **
- Main workflows KPIs do not degrade in tests with Check-in/Check-out with Data import
- No memory leaks. No errors during tests.
- Resource utilization
- Service memory usage doesn't differ in tests with both MSK cluster
- Service CPU utilization in Zookeeper mode: mod-inventory-b - 147%, mod-quick-marc-b - 81%, mod-di-converter-storage-b - 116%, nginx-okapi - 79% the rest of modules utilized less than 50%
- Service CPU utilization in KRaft mode: mod-inventory-b - 133%, mod-quick-marc-b - 75%, mod-di-converter-storage-b - 103%, nginx-okapi - 75% the rest of modules utilized less than 50%
- DB CPU was on level of 90% during tests with both MSK cluster
**Kafka Zookeeper Mode vs KRaft Mode MSK - instance type comparison
Test Runs
Test # | MSK instance type | Scenario | Load level |
---|---|---|---|
1 | kafka.m5.2xlarge | CICO + DI MARC Bib Create | 8 users + 5K, 25K sequentially |
2 | DI MARC Bib Create | 5K, 25K sequentially | |
3 | CICO + DI MARC Bib Update | 8 users + 5K, 25K sequentially | |
4 | DI MARC Bib Update | 5K, 25K sequentially | |
5 | kafka.m7g.2xlarge | CICO + DI MARC Bib Create | 8 users + 5K, 25K sequentially |
6 | DI MARC Bib Create | 5K, 25K sequentially | |
7 | CICO + DI MARC Bib Update | 8 users + 5K, 25K sequentially | |
8 | DI MARC Bib Update | 5K, 25K sequentially |
...
MSK instance: kafka.m5.2xlarge, metadata mode - ZooKeeper | |||||
---|---|---|---|---|---|
Job profile | File size | DI Duration without CI/CO | DI Duration with CI/CO | CI with DI Average sec | CO with DI Average sec |
PTF - Create 2 | 5k | 00:03:45 | 00:02:44 | 0.736 | 1.16 |
25k | 00:14:40 | 00:13:36 | 0.787 | 1.176 | |
PTF - Updates Success - 6 | 5k | 00:04:43 | 00:04:18 | 0.764 | 1.153 |
25k | 00:20:21 | 00:21:25 | 0.767 | 1.179 | |
MSK instance: kafka.m7g.2xlarge, metadata mode - KRaft | |||||
Job profile | File size | DI Duration without CI/CO | DI Duration with CI/CO | CI with DI Average sec | CO with DI Average sec |
PTF - Create 2 | 5k | 00:02:49 | 00:02:39 | 0.765 | 1.118 |
25k | 00:13:31 | 00:12:04 | 0.777 | 1.186 | |
PTF - Updates Success - 6 | 5k | 00:04:36 | 00:04:31 | 0.706 | 1.095 |
25k | 00:24:07 | 00:21:50 | 0.74 | 1.16 |
...
Appendix
Infrastructure
PTF -environment qcp1
- 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
1 database instance, writer
Name Memory GIB vCPUs max_connections db.r6g.xlarge
32 GiB 4 vCPUs 2731 - MSK ptf-mobius-testing2
- 2 m5.2xlarge brokers in 2 zones (total 2 brokers)
Apache Kafka version 2.8.0
EBS storage volume per broker 300 GiB
- auto.create.topics.enable=true
- log.retention.minutes=480
- default.replication.factor=2
- revision - 2
- metadata mode - ZooKeeper
- Total topics: 1534
- Total partitions: 12155
- MSK ptf-KRaft-mode
- 2 m7g.2xlarge brokers in 2 zones (total 2 brokers)
Apache Kafka version 3.7.x
EBS storage volume per broker 300 GiB
- auto.create.topics.enable=true
- log.retention.minutes=480
- default.replication.factor=3
- revision - 26
- metadata mode - KRaft
- Total topics: 1474
- Total partitions: 11909
...