kafka调优

作者: 一个人一匹马 | 来源:发表于2019-03-04 11:31 被阅读123次
partition数量配置

partition数量由topic的并发决定,并发少则1个分区就可以,并发越高,分区数越多,可以提高吞吐量。

网络和io操作线程配置优化
# broker处理消息的最大线程数
    num.network.threads=xxx

#  broker处理磁盘IO的线程数
    num.io.threads=xxx

# 加入队列的最大请求数,超过该值,network thread阻塞
    queued.max.requests=5000

# server使用的send buffer大小。
    socket.send.buffer.bytes=1024000

# server使用的recive buffer大小。
    socket.receive.buffer.bytes=1024000

建议配置:

一般num.network.threads主要处理网络io,读写缓冲区数据,基本没有io等待,配置线程数量为cpu核数加1.

num.io.threads主要进行磁盘io操作,高峰期可能有些io等待,因此配置需要大些。配置线程数量为cpu核数2倍,最大不超过3倍.

log数据文件刷盘策略

为了大幅度提高producer写入吞吐量,需要定期批量写文件。

建议配置:

# 每当producer写入10000条消息时,刷数据到磁盘

  log.flush.interval.messages=10000

# 每间隔1秒钟时间,刷数据到磁盘

  log.flush.interval.ms=1000 
日志保留策略配置

当kafka server的被写入海量消息后,会生成很多数据文件,且占用大量磁盘空间,如果不及时清理,可能磁盘空间不够用,kafka默认是保留7天。

建议配置:

# 保留三天,也可以更短 

  log.retention.hours=72

# 段文件配置1GB,有利于快速回收磁盘空间,重启kafka加载也会加快(如果文件过小,则文件数量比较多,kafka启动时是单线程扫描目录(log.dir)下所有数据文件)

   log.segment.bytes=1073741824 
replica复制配置

每个follow从leader拉取消息进行同步数据,follow同步性能由这几个参数决定
拉取线程数(num.replica.fetchers),
最小字节数(replica.fetch.min.bytes),
最大字节数(replica.fetch.max.bytes),
最大等待时间(replica.fetch.wait.max.ms)。

建议配置:

# 拉取线程数
  num.replica.fetchers 配置多可以提高follower的I/O并发度,单位时间内leader持有跟多请求,相应负载会增大,需要根据机器硬件资源做权衡

# 最小字节数,默认配置为1字节,否则读取消息不及时
  replica.fetch.min.bytes=1 

# 最大字节数,默认为1MB,这个值太小,5MB为宜,根据业务情况调整
  replica.fetch.max.bytes= 5  * 1024 * 1024

# 最大等待时间
  replica.fetch.wait.max.ms  follow拉取频率,频率过高,会导致cpu飙升,因为leader无数据同步,leader会积压大量无效请求情况,又因为0.8.2.x版本存在bug,定时器超时检查比较消耗CPU,使用者需要做好权衡
配置jmx服务

kafka server中默认是不启动jmx端口的,需要用户自己配置

$ vim bin/kafka-run-class.sh

#最前面添加一行

  JMX_PORT=8060

相关文章

  • Kafka 调优

    生产者 缓冲区大小与Sender线程发送包大小 从生产者架构图我们可以看出,有两个地方是比较重要且影响性能的: R...

  • kafka调优

    partition数量配置 partition数量由topic的并发决定,并发少则1个分区就可以,并发越高,分区数...

  • kafka调优

    配置参数调优 broker配置 num.recovery.threads.per.data.dir 对于如下 3 ...

  • Kafka调优

    一、调优吞吐量 broker参数 增加num.replica.fetchers,不要超过CPU核数 调优gc,避免...

  • 深入理解Kafka(九) 吞吐量相关参数

    下面我们来介绍下Kafka怎么调优吞吐量相关的参数,首先我们需要确定当我们想要调优kafka的时候,我们需要从哪些...

  • kafka生产环境规划-kafka商业环境实战

    kafka线上真实环境实战及调优进阶系列 kafka 商业环境实战-kafka生产环境规划 kafka 商业环境实...

  • kafka 集群调优

    本文转载自:https://www.iteblog.com/archives/1879.html参考:https:...

  • Kafka broker 调优

    这些优化可以去官网看,官网有说明 Kafka 的架构这里就不多做介绍了,直接步入正题。 这里主要是 Kafka 集...

  • Kafka 系统调优

    文件系统选型 官方推荐 xfs, ext4 亦可,杜绝使用 ext3,ext3 删除数据非常慢,kafka 的性能...

  • Flink 程序执行调优(持续更新中...)

    1. 消费kafka的调优 关于并行度消费kafka的并行度我们都知道source端保持跟kafka的分区一致,因...

网友评论

    本文标题:kafka调优

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