大流量大负载的Kafka集群优化实战

前言背景

算法优化改版有大需求要上线,在线特征dump数据逐步放量,最终达到现有Kafka集群5倍的流量,预计峰值达到万兆网卡80%左右(集群有几十个节点,网卡峰值流出流量800MB左右/sec、写入消息QPS为100w+ msgs/sec)。上下游服务需要做扩容评估,提前做好容量规划,保障服务持续稳定运行

  • L3层 dump特征 @xxx
    • 1.依赖文章特征公共服务
    • 2.依赖用户特征公共服务 前期可以一起共建
  • 评估dump特征数据量 @xxx
  • kafka新增Topic接收dump数据,评估kafka是否需要扩容 @xxx
  • 新增拼接数据流支撑dump特征,需要评估新增机器 @xxx

经过对Kafka集群软硬件资源及利用率综合分析与评估,决定不扩容机器,完全可以应对流量扩大5倍的性能挑战

流量灰度时间表
  • 2020-02-21放量进度 流量灰度10%
  • 2020-02-24放量进度 流量灰度30%
  • 2020-03-02放量进度 流量灰度50%
  • 2020-03-02放量进度 流量灰度70%
  • 2020-03-03放量进度 流量灰度85%
  • 2020-03-05放量进度 流量灰度100%

优化纪实

预先优化在topics创建的情况下,没有流量时做的优化工作

本次在线特征dump放量topics列表如下:

onlinefeedback
indata_str_onlinefeedback_mixxxbrowser
indata_str_onlinefeedback_oppoxxxbrowser
indata_str_onlinefeedback_3rd
......</pre>

violet集群的topics为indata_str_click_s3rd 和 indata_str_video_3rd_cjv 完成扩容并rebalance找出其他流量大的topics列表

以上topic都已经创建,但是只覆盖了少数磁盘挂载点,violet集群有21个节点252磁盘挂载点,但有些topics的partitions数量不到30,造成磁盘利用率不高,IO不均衡。

优化点:扩容partitions数量,覆盖更多磁盘挂载点

现状&优化旅程

2020-02-21日 开始放量 topics均值流量小于20%,以下是放量后22~23日监控数据(读写IOPS、IOutil)

从以上数据分析,读写IOPS和ioutil极其不均衡,而且其中写IOPS走向极端上下两条线,后来查明原因是zk事务日志是实时单条commit,大量flink使用0.8.x版本,消费状态用zk存储造

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mrs KafkaKafka集群优化)是针对Apache Kafka集群进行性能和效率优化的一种方法。Kafka是一个分布式流处理平台,常用于处理高吞吐量的数据流。 首先,要优化Mrs Kafka集群的性能,可以考虑以下几个方面。 1. 节点配置优化:检查集群中每个节点的硬件配置,包括CPU、内存、磁盘和网络带宽。确保节点具备足够的资源来处理流数据的传输和处理负载。 2. 分区和副本配置:Kafka的消息是通过分区进行并行处理的,所以需要根据实际需求来配置分区数量。另外,还要根据可靠性和数据冗余的需求来配置副本数量。 3. 优化生产者和消费者的参数:生产者和消费者可以通过调整一些参数来提高性能。例如,可以设置异步发送以提高生产者的吞吐量,也可以调整消费者的批处理大小以减少网络开销。 4. 网络优化Kafka的性能也受网络延迟和带宽的影响,因此可以考虑在集群中使用更快的网络设备,并在不同的节点之间进行负载平衡,以减少网络瓶颈。 5. 监控和调优:使用合适的监控工具对Mrs Kafka集群进行实时监控,以了解集群的性能状况。根据监控数据,可以进行调优,如增加或减少节点数量,调整分区数量等。 6. 数据压缩:Kafka支持数据压缩,可以在生产者和消费者之间启用数据压缩,从而减少网络传输量和存储成本。 最后,需要不断进行测试和优化,根据实际需求和工作负载的变化来调整Mrs Kafka集群的配置。优化Mrs Kafka集群性能将使其能够更好地应对大规模数据流处理需求,并提供更好的性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值