Performance Evaluation of Apache Kafka and Redpanda

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Sähkötekniikan korkeakoulu | Master's thesis

Date

2024-08-19

Department

Major/Subject

Signal, Speech and Language Processing

Mcode

ELEC3031

Degree programme

CCIS - Master’s Programme in Computer, Communication and Information Sciences (TS2013)

Language

en

Pages

54

Series

Abstract

The aim of this thesis was to measure the performance of three event streaming platforms in three different test cases. The thesis went through the most important information about streaming infrastructure, including the Kappa architecture, event streaming tools, stream processing tools and the key performance indicators and metrics used to measure the performance of the platforms. The thesis also showed the Python implementations of the producers and consumers used to generate and read the data. Additionally the thesis shows the Docker implementations of the brokers, including the tools used to measure the broker performances. The three event streaming platforms inspected were using Apache Kafka with ZooKeeper, Apache Kafka with KRaft and Redpanda. The first test case was done with one producer, consumer, broker, topic and partition. The second test case increased the number of producers to four. The third test case had four producers, but also now three brokers and partitions. Overall, the platform using Redpanda had slightly slower throughput degradation than the other platform, but also had significantly worse latency distribution. Both platforms using Kafka had essentially the same latency distributions in each test case, but Kafka with KRaft had slightly slower throughput degradation.

Tämän työn tavoitteena oli mitata kolmen viestivirta-alustan suorituskykyä kolmessa eri testitapauksessa. Tutkielmassa käytiin läpi datavirtainfrastruktuurin tärkeimmät periaatteet, mukaan lukien Kappa-arkkitehtuurin, viestivirta-alustat, datavirtaytyökalut sekä keskeiset suorituskykyindikaattorit ja parametrit, joiden avulla alustojen suorituskykyä mitataan. Tutkielma esitteli myös Python-toteutukset tuottajille ja kuluttajille, joita käytettiin datan luomiseen ja lukemiseen. Lisäksi tutkielmassa näytettiin alustojen Docker-toteutukset, sisältäen myös työkalut, joilla mitattiin näiden alustojen suorituskykyä. Tutkittavana oli kolme viestivirta-alustaa, jotka käyttivät Apache Kafkaa ZooKee- perin kanssa, Apache Kafkaa KRaftin kanssa ja Redpandaa. Ensimmäinen testitapaus suoritettiin yhdellä tuottajalla, kuluttajalla, alustalla ja osioinnilla. Toisessa testitapauksessa tuottajien määrä nostettiin neljään. Kolmannessa testitapauksessa oli neljä tuottajaa, mutta myös kolme alustaa ja osiontia. Kokonaisuudessaan Redpandaa käyttävä alusta koki hieman hitaampaa suoritustehon heikkenemistä kuin muut alustat, mutta sillä oli myös merkittävästi huonompi viivejakauma. Molemmilla Kafkaa käyttävillä alustoilla oli käytännössä samat viivejakaumat jokaisessa testitapauksessa, mutta Kafka KRaftin kanssa koki hieman hitaampaa suoritustehon heikkenemistä.

Description

Supervisor

Wichman, Risto

Thesis advisor

Aaltonen, Simo

Keywords

event streaming platforms, stream processing, streaming data, Kappa architecture

Other note

Citation