• Payload(전송 데이터) 크기는 아래 Kafka의 설정 값에 영향을 끼친다.
    • batch size
      • 한 배치에 담을 최대 바이트 수
      • 작은 payload: 배치가 금방 차지 않아 전송 빈도가 높아져 네트워크 오버헤드 증가
      • 큰 payload: batch.size 를 payload 크기보다 크게 설정해야 한 번에 묶어서 전송 가능
        • 예: payload 10 KB인데 batch.size=16 KB → 배치당 1개씩만 묶임
        • batch.size=64 KB 로 늘리면 payload 3~4개씩 한 번에 전송
    • linger.ms
      • linger.ms 동안 배치가 가득 차지 않아도 대기 후 전송
      • payload 크기 클수록 “가득 채우는 시간”이 길어지니
        • linger.ms 를 너무 짧게 잡으면 배치 효율이 떨어져 전송 횟수 급증
        • linger.ms 를 늘리면 동일 시간 내에 더 많은 payload 묶어서 보내게 됨
    • Throughput
      • payload 크기↑ → per-message 오버헤드↑
        • 압축(compression.type) 효과가 payload 크기에 따라 달라짐
        • 네트워크 대역폭 포화 여부, broker 디스크 쓰기량 검토 필요
      • throughput (msg/s) 은 payload 크기와 batch 효율에 의해 결정
    • Broker·Consumer
      • broker.message.max.bytes: 브로커가 허용하는 최대 메시지 크기 (기본 1 MB)
      • fetch.min.bytes / fetch.max.wait.ms (Consumer):
        • fetch.min.bytes 를 높이면 payload가 클 때 배치 크기 제어 가능
        • fetch.max.wait.ms 를 조정해 “작은 배치라도 얼마만큼 대기 후 반환” 제어
    • 메모리·GC·운영
      • payload 크기↑ → JVM Heap·GC 부하↑
      • Consumer 쪽 max.poll.records 나 max.partition.fetch.bytes 설정 검토
      • 대용량 payload의 경우 streaming API 로 처리하거나 consumer 스레드 수 조정