以下是Ubuntu下提升Kafka性能的配置优化方向,涵盖JVM、Kafka参数、硬件及监控等方面:
-Xms和-Xmx为相同值(如-Xms8G -Xmx8G),避免动态调整带来的GC停顿,建议不超过服务器内存的50%。-XX:+UseG1GC -XX:MaxGCPauseMillis=20,减少GC延迟。-XX:MaxDirectMemorySize设置)。num.network.threads:设置为CPU核心数+1,提升网络请求处理能力。num.io.threads:设置为CPU核心数×2,优化磁盘I/O(如SSD场景可适当提高)。batch.size:增大至128KB-1MB(如batch.size=512KB),减少网络请求次数。linger.ms:设置为50-100ms,允许更多消息合并到批次。compression.type:启用snappy或lz4压缩,降低网络传输量。log.segment.bytes:设置为1GB,减少分段数量,提升索引效率。log.retention.hours:按需调整(如7天),避免磁盘占满。tcp_nodelay和tcp_keepalive_time,降低网络延迟。net.core.somaxconn,提升TCP连接队列长度。ulimit -n 65536增加限制,支持高并发连接。under-replicated-partitions、request-queue-time等指标。kafka-producer-perf-test和kafka-consumer-perf-test验证配置效果。enable.idempotence=true)和事务,确保数据一致性。参考来源: