Kafka深入-kafka如何调优

本文详细介绍了Kafka的配置调优,包括broker配置、主题默认配置、集群配置、操作系统调优等,重点关注了参数如num.recovery.threads.per.data.dir、num.partitions、log.retention.bytes等对性能的影响。还探讨了如何根据需求选择分区数量、如何调整日志片段大小和关闭时机,以及如何避免内存交换和优化网络设置。此外,还提到了生产者和消费者配置的优化,如acks、buffer.memory和fetch.min.bytes等参数的设置,以保证消息顺序和提高吞吐量。
摘要由CSDN通过智能技术生成

配置参数调优

broker配置

num.recovery.threads.per.data.dir

对于如下 3 种情况,Kafka 会使用可配置的线程池来处理日志片段:

  • 服务器正常启动,用于打开每个分区的日志片段;
  • 服务器崩溃后重启,用于检查和截短每个分区的日志片段;
  • 服务器正常关闭,用于关闭日志片段。

默认情况下,每个日志目录只使用一个线程。因为这些线程只是在服务器启动和关闭时会用到,所以完全可以设置大量的线程来达到并行操作的目的。特别是对于包含大量分区的服务器来说,一旦发生崩溃,在进行恢复时使用并行操作可能会省下数小时的时间。设置此参数时需要注意,所配置的数字对应的是 log.dirs 指定的单个日志目录。也就是说,如果 num.recovery.threads.per.data.dir 被设为 8,并且 log.dir 指定了 3 个路径,那么总共需要 24 个线程。

主题的默认配置

num.partitions

num.partitions 参数指定了新创建的主题将包含多少个分区。如果启用了主题自动创建功能(该功能默认是启用的),主题分区的个数就是该参数指定的值。该参数的默认值是 1。Kafka 集群通过分区对主题进行横向扩展,所以当有新的 broker 加入集群时,可以通过分区个数来实现集群的负载均衡。拥有大量消息的主题如果要进行负载分散,就需要大量的分区。

如何选定分
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值