Introducing Dimster, a Performance Benchmarking Tool for Apache Kafka
Author: Jack Vanlightly | Source: jack-vanlightly.com | Published: 2026-05-20
한 줄 요약
“차원 테스트(Dimensional Testing)“를 핵심으로, 재현 가능하고 공유 가능한 결과물과 Kubernetes 표준 런타임을 갖춘 Apache Kafka 전용 성능 벤치마킹 도구(DIMensional teSTER).
핵심 주장/내용
- 기존 OpenMessagingBenchmark(OMB)의 배포 난이도와 한계를 개선하기 위해 Claude의 도움으로 Kafka 중심 벤치마킹 도구를 새로 작성
- 차원 테스트: 설정·워크로드의 각 측면을 N차원 공간의 한 축으로 보고, 한 차원(예: batch.size, linger.ms, 컨슈머 수)을 따라 여러 테스트 포인트를 변화시키며 동일 벤치마크 반복 → 단일/공변 차원의 영향을 차트로 비교
- 자체완결적 결과물: JSON/CSV 결과, 소스 설정, 로그, 인터랙티브 차트, Grafana 대시보드를 HTML로 변환 → 모니터링 인프라 없이도 재현·공유 가능
- 4가지 테스트 모드: Run(고정 처리량, 라이브 인터랙션/가용성 측정), Explore(목표 지연 내 최대 지속 처리량 탐색), Drain-backlog(백로그 소진 시간 측정), Correctness(데이터 손실/손상/순서/중복 탐지)
- Kubernetes 표준 런타임: 동일 오케스트레이션 로직으로 노트북(k3d/minikube)부터 EKS/GKE까지. K8s 없이 Java 직접 실행도 가능(단, 모니터링·차트 자동화 등 기능 상실)
주요 수치 / 사실
- Consumer Group vs Share Group 벤치마크: 50 MB/s에서 share group이 ~15ms p99 오버헤드
- Share group은 10 파티션으로 300 컨슈머 처리량(이론치 95%) 달성, consumer group은 동일 처리량에 300 파티션 필요
dimster resources명령: 워크로드의 네트워크/디스크 처리량 요구치 계산(인스턴스 선택용)- GitHub: dimster-hq/dimster, 0.X 버전
관련 위키
Source: 원문 보기