การ tune Kafka เกี่ยวข้องกับการกำหนดค่า producer, consumer, broker และ topic เพื่อให้ได้สมดุลที่ต้องการระหว่าง throughput, latency และ durability การเข้าใจพารามิเตอร์การ tune ที่สำคัญและ trade-off ต่าง ๆ มีความสำคัญต่อ Kafka ที่ต้องการ performance สูง
การ tune producer
✓ BATCHING → batch.size + linger.ms → batch messages → higher THROUGHPUT (fewer requests)
at the cost of slight latency
✓ COMPRESSION → compress batches (snappy, lz4, zstd) → less network/storage, more throughput
✓ acks → acks=all (durable, slower) vs acks=1 (faster, less safe) → durability vs throughput
✓ buffer.memory, max.in.flight → tune for throughput
การ tune consumer
✓ fetch.min.bytes / fetch.max.wait → batch fetches → throughput vs latency
✓ max.poll.records → how many records per poll (processing batch size)
✓ Enough CONSUMERS and PARTITIONS for parallelism (the main scaling lever)
✓ Efficient processing (don't block; process in parallel/async where possible)
