更新时间:2025-12-26 GMT+08:00
分享

Kafka性能调优

操作场景

通过调整Kafka服务端参数,可以提升特定业务场景下Kafka的处理能力。

参数调优

  1. 登录MRS集群Manager。

    登录集群Manager具体操作,请参考访问MRS集群Manager

  2. 选择“集群 > 服务 > Kafka > 配置 > 全部配置”。
  3. 搜索以下参数名称,并根据实际需要修改参数值。

    表1 调优参数

    配置参数

    默认

    调优场景

    num.recovery.threads.per.data.dir

    10

    每个数据目录用来数据恢复的线程数目。

    • 线程越多,恢复过程可能越快,但性能可能会降低。
    • 在Kafka启动过程中,数据量较大情况下,可调大此参数,可以提升启动速度。

    background.threads

    10

    Broker后台任务处理的线程数目,例如过期数据文件的删除线程

    • 线程越多,任务处理的并行度越高,但也会占用更多系统资源,一般不需要修改
    • 数据量较大的情况下,可适当调大此参数,以提升Broker处理能力。

    num.replica.fetchers

    1

    副本向Leader请求同步数据的线程数。

    • 线程越多,副本同步的并行度越高,但也会占用更多系统资源(如CPU和网络带宽)。
    • 增大该参数会增加副本的I/O并发度。

    num.io.threads

    8

    Broker用于处理请求的线程数,其中可能包括磁盘I/O。

    • 线程数越多,Kafka能同时处理的请求越多,从而提升吞吐量。但线程数过高可能导致占用资源增加,反而降低性能。
    • 这个线程数目建议至少等于硬盘的个数。

    KAFKA_HEAP_OPTS

    -Xmx6G -Xms6G

    Kafka Broker进程的JVM堆内存。

    • 当Broker上数据量较大时,应适当调整堆内存大小。
    • 堆内存越大,Full GC的停顿时间可能越长,影响Kafka的实时性。

  4. 修改完成后保存配置,并重新启动配置过期的服务或实例以使配置生效。

相关文档