Skip to content

A Gatling stress test plugin for Apache Kafka protocol

License

Notifications You must be signed in to change notification settings

wangjinahappy/gatling-kafka

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gatling-Kafka

An unofficial Gatling 3.3.1 stress test plugin for Apache Kafka 2.4.0 protocol.

This plugin supports the Kafka producer API only and doesn't support the Kafka consumer API.

Usage

Cloning this repository

$ git clone https://github.com/mnogu/gatling-kafka.git
$ cd gatling-kafka

Creating a jar file

Install sbt 0.13 if you don't have. And create a jar file:

$ sbt assembly

If you want to change the version of Gatling used to create a jar file, change the following line in build.sbt:

"io.gatling" % "gatling-core" % "3.3.1" % "provided",

and run sbt assembly.

If you don't want to include kafka-clients library to the jar file, change a line on kafka-clients in build.sbt from

("org.apache.kafka" % "kafka-clients" % "2.4.0")

to

("org.apache.kafka" % "kafka-clients" % "2.4.0" % "provided")

and run sbt assembly.

Putting the jar file to lib directory

Put the jar file to lib directory in Gatling:

$ cp target/scala-2.12/gatling-kafka-assembly-*.jar /path/to/gatling-charts-highcharts-bundle-3.3.1.*/lib

If you edited build.sbt in order not to include kafka-clients library to the jar file, you also need to copy kafka-clients library to lib directory:

$ cp /path/to/kafka-clients-*.jar /path/to/gatling-charts-highcharts-bundle-3.3.1.*/lib

Creating a simulation file

$ cd /path/to/gatling-charts-highcharts-bundle-3.3.1.*
$ vi user-files/simulations/KafkaSimulation.scala

You can find sample simulation files in the test directory. Among these files, BasicSimulation.scala would be a good start point. Make sure that you replace BasicSimulation with KafkaSimulation in BasicSimulation.scala if your simulation filename is KafkaSimulation.scala.

Note that gatling-kafka 0.1.x isn't compatible with 0.0.x. See the README.md in the 0.0.6 release if you are using 0.0.x.

Running a stress test

After starting an Apache Kafka server, run a stress test:

$ bin/gatling.sh

License

Apache License, Version 2.0

About

A Gatling stress test plugin for Apache Kafka protocol

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 100.0%