温馨提示×

Kafka在Ubuntu上的性能调优技巧

小樊
52
2025-08-28 13:05:45
栏目: 智能运维

以下是Kafka在Ubuntu上的性能调优技巧:

硬件与系统优化

  • 存储:使用SSD硬盘,提升I/O性能;合理规划数据存储目录,确保空间充足。
  • 内存:调整JVM堆内存(-Xms-Xmx,建议不超过物理内存50%-70%),选择G1垃圾回收器。
  • CPU与网络:采用多核CPU,配置高性能网卡;优化TCP参数(如tcp_nodelay),增加网络带宽。

Kafka配置优化

  • 核心参数
    • 生产者:增大batch.size(128KB-1MB)、linger.ms(50-100ms),启用compression.type(如lz4)。
    • 消费者:调整fetch.min.bytes(1MB)、max.poll.records(1000),消费者线程数与分区数匹配。
    • Broker:合理设置num.io.threads(匹配CPU核心数)、num.network.threads(适配网卡),优化log.segment.bytes(1GB)和log.retention.hours(168小时)。
  • 分区与副本:分区数设置为Broker数量的整数倍,副本数根据数据重要性设置(通常3副本)。

操作系统优化

  • 调整文件描述符限制(ulimit -n 65535),优化内核参数(如vm.swappiness)。
  • 禁用atime更新(noatime挂载选项),减少磁盘I/O开销。

监控与维护

  • 使用Prometheus+Grafana监控关键指标(如吞吐量、延迟、分区状态),定期清理日志文件[1,2,3,5,8,9,10,11,13,14]。

0