Skip to content

Releases: osodevops/kafka-performance-testing

v1.0.0 - Complete Kafka Performance Testing Framework

16 Dec 17:49

Choose a tag to compare

Kafka Performance Testing Framework v1.0.0

A comprehensive performance testing framework for Apache Kafka with automated Excel report generation.

Features

Test Scenarios

  • Producer Baseline - Optimize acks, batch.size, linger.ms, compression
  • Consumer Baseline - Optimize fetch settings and poll configuration
  • Load Scaling - Multi-producer/consumer performance analysis
  • Message Size Impact - Throughput vs message size relationship
  • Acks Trade-off - Durability vs performance quantification

Excel Report (10 Sheets, 30+ Charts)

  1. Dashboard - Executive summary with KPIs
  2. Throughput Analysis - Deep dive with 4 charts
  3. Latency Analysis - Percentile distributions and heatmaps
  4. Trade-off Analysis - THE KNEE CHART (latency vs throughput saturation)
  5. Scaling Performance - Producer scaling degradation
  6. Configuration Heatmap - Multi-dimensional parameter analysis
  7. Message Size Impact - Size efficiency curves
  8. Acks Comparison - Durability vs performance visualization
  9. Raw Data - Complete dataset for pivot tables
  10. Recommendations - Scored configurations by use case

Infrastructure

  • Docker Compose local development (3-broker Kafka cluster)
  • Ansible-based test orchestration
  • Parametrized test matrices (quick & baseline profiles)
  • Python scripts for log parsing and report generation
  • Offline/air-gapped installation support

Quick Start

# Clone and setup
git clone https://github.com/osodevops/kafka-performance-testing.git
cd kafka-performance-testing
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt

# Start local Kafka cluster
docker-compose up -d

# Run tests
docker exec -it kafka-perf-test bash
ansible-playbook -i inventories/local ansible_collections/oso/test/playbooks/full_benchmark.yml

# View results
open results/reports/kafka_perf_report_*.xlsx

Offline/Air-Gapped Installation

# Download packages (on internet-connected machine)
./scripts/download_offline_packages.sh

# Install offline (on air-gapped machine)
pip install --no-index --find-links=offline_packages/ -r requirements.txt

See Offline Installation Guide for details.

Documentation