压测实操--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

相关推荐
zru_96021 小时前
Kafka核心概念深入浅出:消费者组(Consumer Group)机制全解析
kafka
学习中的阿陈3 小时前
Hadoop伪分布式环境配置
大数据·hadoop·分布式
CesareCheung4 小时前
JMeter分布式压力测试
分布式·jmeter·压力测试
thginWalker4 小时前
面试鸭Java八股之Kafka
kafka
失散135 小时前
分布式专题——10.5 ShardingSphere的CosID主键生成框架
java·分布式·架构·分库分表·shadingsphere
winfield8217 小时前
Kafka 线上问题排查完整手册
kafka
Cxzzzzzzzzzz9 小时前
RabbitMQ 在实际开发中的应用场景与实现方案
分布式·rabbitmq
在未来等你9 小时前
Kafka面试精讲 Day 16:生产者性能优化策略
大数据·分布式·面试·kafka·消息队列
王大帅の王同学10 小时前
Thinkphp6接入讯飞星火大模型Spark Lite完全免费的API
大数据·分布式·spark
一氧化二氢.h12 小时前
通俗解释redis高级:redis持久化(RDB持久化、AOF持久化)、redis主从、redis哨兵、redis分片集群
redis·分布式·缓存