도구스개발

카프카 파티션 수 산정 계산기

목표 처리량과 파티션당 생산·소비 처리량으로 카프카 토픽에 필요한 파티션 수를 계산합니다.

MB/s
MB/s
MB/s

권장 파티션 수

100개

생산 기준 100개 · 소비 기준 50개 중 큰 값을 올림

브로커당 파티션-복제본약 30개
클러스터 전체 파티션-복제본300개
파티션당 생산·소비 처리량은 고정 상수가 아니라 실측값입니다. 배치 크기·압축·ACK 설정·컨슈머 로직에 따라 크게 달라지므로, 실제(또는 유사한) 부하 테스트로 잰 값을 넣어야 정확합니다.

사용 방법

  1. 1목표 처리량(MB/s)을 넣습니다.
  2. 2실측한 파티션당 생산·소비 처리량(MB/s)을 넣습니다.
  3. 3브로커 수·복제계수를 넣으면 필요한 파티션 수와 브로커당 부담을 확인합니다.

자주 묻는 질문

필요 파티션 수 = max(목표 처리량 ÷ 파티션당 생산 처리량, 목표 처리량 ÷ 파티션당 소비 처리량)입니다. Confluent의 공식 가이드("How to Choose the Number of Topics/Partitions in a Kafka Cluster?")가 제시하는 표준 산식입니다.

고정된 상수가 아니라 실측값입니다. 배치 크기·압축 방식·ACK 설정·복제계수에 따라 생산 처리량이, 컨슈머 로직의 처리 속도에 따라 소비 처리량이 달라집니다. 실제 운영 환경(또는 유사한 부하 테스트)에서 파티션 하나로 측정한 값을 넣어야 정확합니다.

아닙니다. 파티션이 지나치게 많으면 브로커의 파일 핸들·메모리 부담이 커지고 장애 복구(리더 선출) 시간도 늘어날 수 있습니다. 일반적으로 브로커당 4,000개, 클러스터 전체 200,000개를 넘지 않도록 권고되며, KRaft(주키퍼 제거) 이후 더 큰 규모가 시연된 사례는 있지만 이는 한계 시연이지 운영 목표치가 아닙니다.

파티션 수가 소수면 브로커 수로 고르게 나누어떨어지지 않아 일부 브로커에 리더가 쏠리기 쉽습니다. 12·24·30·48·60처럼 약수가 많은 수를 쓰면 여러 브로커 대수에 고르게 분산하기 좋습니다.

알아두면 좋은 점

  • 파티션당 생산·소비 처리량은 실측값을 넣어야 합니다. 이 계산기가 그 값을 추정하지 않습니다.
  • 브로커당·클러스터 전체 파티션 상한(4,000·200,000)은 일반적으로 권고되는 값이며, 클라우드 관리형 카프카(MSK 등)는 서비스별로 별도 상한을 둘 수 있습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 4일 · 결과는 참고용 추정치입니다.