Kafka调优

作者: 专职掏大粪 | 来源:发表于2020-06-01 10:25 被阅读0次

    一、调优吞吐量

    broker参数
    • 增加num.replica.fetchers,不要超过CPU核数
    • 调优gc,避免fullgc
    producer参数
    • 增加batch.size.100~512kb
    • 增加linger.ms,比如1-~100毫秒
    • 设置compression.type = lz4
    • zcks= 0或1
    • retry = 0
    • 若分区数很多,增加buffer.memory
    consumer参数
    • 提高consumer实例
    • 增加fetch.min.byte,比如100000

    二、调优延时

    broker参数
    • 增加num.replica.fetchers
    • 避免创建过多分区
    producer参数
    • linger.ms = 0
    • compression.type=none
    • acks=1或0
    consumer参数
    • fetch.min.byte=1

    三、调优持久性(kafka消息不容易丢失的程度 可靠性?)

    • unclean.leader.election.enable=false
    • auto.create.topics.enable=false
    • replication.factor.=3,min.insync.replicas = replication.factor-1
    • default.replication.factor=3
    • broker.rack属性分散分区数据到不同机架
    • log.flush.interval.message 和 log.flush.interval.ms 为一个较小的值
    producer参数
    • ack=all
    • 设置retries较大 10~30
    • max.in.flight.request.per.connection=1
    • enable.idempotence=true
    consumer参数
    • auto.commit.enable=false
    • 消费成功后,commitSync提交位移

    三、调优可用性

    broker参数
    • 避免创建过多分区
    • unclean.leader.election.enable=true
    • min.insync.replicas=1
      num.recovery.trheads.per.data.dir=broker端log.dir设置的目录数
    producer参数

    acks=1

    consumer参数
    • session.timeout.ms为较低的值 10000
    • max.poll.interval.ms为比平均处理时间稍大的值
    • max.poll.records和max.partion.fatch.bytes 减少consumer处理消息的总时长,避免rebalance

    调优其实是一个trade-off问题

    相关文章

      网友评论

        本文标题:Kafka调优

        本文链接:https://www.haomeiwen.com/subject/homrzhtx.html