kafaka 性能优化

  • Broker需要一个leader;主要工作就是分配partition,partition的迁移   如果分区比较多的话,可以扩大并发度,producer不需要太多,如果太多的话,可能增加不同的partition的消息顺序不一致性;除非你的业务模型忽略顺序性问题
  • replication集合也会选举出leader,读写操作直接操作leader,副本都是从leader同步信息;有一个配置(request.required.acks)接收producer的消息后,需要同步多少个副本才进行ack回复;如果设置的值太大,影响生产者的效率;太少可能对可用性、安全性影响
  • 生产者发消息可以进行消息压缩,解压可以在kafaka服务端解压,也可以再消费者消费消息时候解压;还可以在业务层进行解压。Message-Set 加 End-To-End策略
  •  Kafka官方并不建议通过Broker端的log.flush.interval.messages和log.flush.interval.ms来强制写盘,认为数据的可靠性应该通过Replica来保证,而强制Flush数据到磁盘会对整体性能产生影响
  • 可以通过调整/proc/sys/vm/dirty_background_ratio和/proc/sys/vm/dirty_ratio来调优性能
    a. 脏页率超过第一个指标会启动pdflush开始Flush Dirty PageCache。
    b. 脏页率超过第二个指标会阻塞所有的写操作来进行Flush。
    c. 根据不同的业务需求可以适当的降低dirty_background_ratio和提高dirty_ratio。

     

  •  不要建立太多的topic,kafak不适合太多的topic
  •  Partition的数量尽量提前预分配,虽然可以在后期动态增加Partition,但是会冒着可能破坏Message Key和Partition之间对应关系的风险
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值