压测实操--kafka broker压测方案

作者:九月

环境信息:

操作系统centos7.9,kafka版本为hdp集群中的2.0版本。

kafka broker参数

num.replica.fetchers:副本抓取的相应参数,如果发生ISR频繁进出的情况或follower无法追上leader的情况则适当增加该值,但通常不要超过CPU核数+1;

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

num.network.threads:broker处理消息的最大线程数,和我们生产消费的thread很类似主要处理网络io,读写缓冲区数据,基本没有io等待,最好配置线程数量为cpu核数加1;

num.replica.fetchers

集群中默认配置是1,调整该参数,观察吞吐速率。

调整num.replica.fetchers配置后,使用kafka-consumer-perf-test.sh脚本获取吞吐速率。

bash 复制代码
/usr/hdp/3.1.5.0-152/kafka/bin/kafka-consumer-perf-test.sh --broker-list 172.16.120.30:6667,172.16.120.36:6667,172.16.120.37:6667 --topic test_kafka_broker --messages 1000000 --fetch-size  1048576

num.io.threads

集群中默认配置是8,调整该参数,观察吞吐速率。

调整num.io.threads配置后,使用kafka-consumer-perf-test.sh脚本获取吞吐速率。

bash 复制代码
/usr/hdp/3.1.5.0-152/kafka/bin/kafka-consumer-perf-test.sh --broker-list 172.16.120.30:6667,172.16.120.36:6667,172.16.120.37:6667 --topic test_kafka_broker --messages 1000000 --fetch-size  1048576

num.network.threads

集群中默认配置是3,调整该参数,观察吞吐速率。

调整num.network.threads配置后,使用kafka-consumer-perf-test.sh脚本获取吞吐速率。

bash 复制代码
/usr/hdp/3.1.5.0-152/kafka/bin/kafka-consumer-perf-test.sh --broker-list 172.16.120.30:6667,172.16.120.36:6667,172.16.120.37:6667 --topic test_kafka_broker --messages 1000000 --fetch-size  1048576

总结

通过调整集群中kafka broker的参数配置,获取不同参数下的吞吐速率。对broker参数的优化应当结合集群主机中的硬件资源进行适当调整。通过调整测试获取最合适的参数配置。

更多技术信息请查看云掣官网https://yunche.pro/?t=yrgw

相关推荐
萧鼎4 小时前
Python pyzmq 库详解:从入门到高性能分布式通信
开发语言·分布式·python
纪莫4 小时前
Kafka如何保证「消息不丢失」,「顺序传输」,「不重复消费」,以及为什么会发送重平衡(reblanace)
kafka
卡拉叽里呱啦7 小时前
缓存-变更事件捕捉、更新策略、本地缓存和热key问题
分布式·后端·缓存
BD_Marathon8 小时前
Kafka文件存储机制
分布式·kafka
哈哈很哈哈10 小时前
Spark 运行流程核心组件(三)任务执行
大数据·分布式·spark
jakeswang16 小时前
应用缓存不止是Redis!——亿级流量系统架构设计系列
redis·分布式·后端·缓存
Aspirin_Slash17 小时前
docker-compose部署kafka with kraft 配置内网公网同时访问
kafka
君不见,青丝成雪18 小时前
大数据技术栈 —— Redis与Kafka
数据库·redis·kafka
不久之18 小时前
大数据服务完全分布式部署- 其他组件(阿里云版)
分布式·阿里云·云计算
Direction_Wind18 小时前
粗粮厂的基于spark的通用olap之间的同步工具项目
大数据·分布式·spark