Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Table of Contents
Overview

...

This document contains the results of testing workflows Check-in/Check-out and Data Import for MARC Bibliographic records in the Quesnelia release with a new MSK instance type where zookeeper instances are not required. The main idea is to see how the kafka.m7g.2xlarge with KRaft mode affects FOLIO performance. Compared results for main workflows with different instance types: kafka.m5.2xlarge against kafka.m7g.2xlarge.

...

  • 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%) CPU by brokers during CI/CO and during DI + CI/CO and at the same time it is 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
    • Memory Service memory usage idoesndoesn't differ n differ in tests with both MSK cluster
    • CPU utilization for modulesService 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 - 140%133%, mod-quick-marc-b - 80%75%, mod-di-converter-storage-b - 116%103%, nginx-okapi - 75% the rest of modules utilized less than 80%50%
    • DB CPU was on level of 90% during tests with both MSK cluster

*Kafka Zookeeper mode - Data Import with Check-ins Check-outs (Quesnelia)[non-ECS] MSK instance type comparison

**Kafka Zookeeper Mode vs KRaft Mode MSK - instance type comparison

Test Runs 

Test #

MSK instance type

Scenario

Load level
1kafka.m5.2xlargeCICO + DI MARC Bib Create 8 users + 5K, 25K sequentially
2DI MARC Bib Create5K, 25K sequentially
3CICO + DI MARC Bib Update 8 users + 5K, 25K sequentially
4DI MARC Bib Update5K, 25K sequentially
5kafka.m7g.2xlargeCICO + DI MARC Bib Create 8 users + 5K, 25K sequentially
6DI MARC Bib Create5K, 25K sequentially
7CICO + DI MARC Bib Update 8 users + 5K, 25K sequentially
8DI MARC Bib Update5K, 25K sequentially

...

MSK instance: kafka.m5.2xlarge, metadata mode - ZooKeeper
Job profileFile sizeDI Duration without CI/CODI Duration with CI/COCI with DI Average secCO with DI Average sec
PTF - Create 25k00:03:4500:02:440.7361.16

25k00:14:4000:13:360.7871.176
PTF - Updates Success - 65k00:04:4300:04:180.7641.153

25k00:20:2100:21:250.7671.179
MSK instance: kafka.m7g.2xlarge, metadata mode - KRaft
Job profileFile sizeDI Duration without CI/CODI Duration with CI/COCI with DI Average secCO with DI Average sec
PTF - Create 25k00:02:4900:02:390.7651.118

25k00:13:3100:12:040.7771.186
PTF - Updates Success - 65k00:04:3600:04:310.7061.095

25k00:24:0700:21:500.741.16

...

Job ProfileFile sizeDELTA, DI without CI/CODELTA, DI+CI/CODELTA, CI with DIDELTA, CO with DI
PTF - Create 25k00:00:5600:00:05-0.0290.042
25k00:01:0900:01:320.01-0.01
PTF - Updates Success - 65k00:00:07-00:00:130.0580.058
25k-00:03:46-00:00:250.0270.019


Check-in/Check-out without DI

...

ScenarioLoad levelRequest

Response time, sec
MSK instance: kafka.m5.2xlarge

Response time, sec
MSK instance: kafka.m7g.2xlarge


Delta

95 percaverage95 percaverageAverage
Circulation Check-in/Check-out (without Data import)8 usersCheck-in0.6950.5870.6950.583-0.004

Check-out1.1480.9581.1510.944-0.014


MSK resource utilization (CPU)

...

Appendix

Infrastructure

PTF -environment qcp1

  • 10 m6i.2xlarge EC2 instances located in US East (N. Virginia)us-east-1
  • 1 database  instance, writer

    NameMemory GIBvCPUsmax_connections

    db.r6g.xlarge

    32 GiB4 vCPUs2731


  • 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
    • 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

Task count for module mod-graphql set to 0 before test start.

...