Kafka 튜닝은 처리량, 지연, 내구성의 원하는 균형을 위해 producer, consumer, broker, topic을 구성하는 것을 수반합니다. 핵심 튜닝 매개변수와 트레이드오프를 이해하는 것은 고성능 Kafka에 중요합니다.
Producer 튜닝
✓ BATCHING → batch.size + linger.ms → 메시지 배치 → 더 높은 THROUGHPUT(요청 감소)
약간의 지연을 대가로
✓ COMPRESSION → 배치 압축(snappy, lz4, zstd) → 네트워크/저장 감소, 처리량 증가
✓ acks → acks=all(내구성, 느림) 대 acks=1(빠름, 덜 안전) → 내구성 대 처리량
✓ buffer.memory, max.in.flight → 처리량을 위해 튜닝
Consumer 튜닝
✓ fetch.min.bytes / fetch.max.wait → 페치 배치 → 처리량 대 지연
✓ max.poll.records → poll당 레코드 수(처리 배치 크기)
✓ 병렬성을 위한 충분한 CONSUMER와 PARTITION(주요 확장 레버)
✓ 효율적 처리(블로킹 금지; 가능하면 병렬/비동기로 처리)
