当前位置: 首页 > news >正文

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

作者:九月

环境信息:

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

Consumer相关参数

使用Kafka自带的kafka-consumer-perf-test.sh脚本进行压测,该脚本参数为:

请添加图片描述

请添加图片描述

请添加图片描述

thread:测试时的单机线程数;

fetch-size:抓取数据量;

partition:分区数,主要是和线程复合来测试;

replication:副本数;

througout:我们所需要的吞吐量,单位时间内处理消息的数量,可能对我们处理消息的延迟有影响;

consumer测试

fetch-size

fetch-size=524288
/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_consumer --messages 10000000 --fetch-size  524288  --threads 4
fetch-size=1048576
/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_consumer --messages 10000000 --fetch-size  1048576  --threads 4
fetch-size=2097152
/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_consumer --messages 10000000 --fetch-size  2097152  --threads 4
fetch-size=3145728
/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_consumer --messages 10000000 --fetch-size  3145728  --threads 4
fetch-size=4194304
/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_consumer --messages 10000000 --fetch-size  4194304  --threads 4
fetch-size=5242880
/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_consumer --messages 1000000 --fetch-size  5242880  --threads 4

partitions

创建不同partitions的topic
/usr/hdp/3.1.5.0-152/kafka/bin/kafka-topics.sh --create  --zookeeper mutong01:2181,mutong02:2181,mutong03:2181  --topic test_kafka_consumer1  --partitions 1 --replication-factor 1/usr/hdp/3.1.5.0-152/kafka/bin/kafka-topics.sh --create  --zookeeper mutong01:2181,mutong02:2181,mutong03:2181  --topic test_kafka_consumer2  --partitions 2 --replication-factor 1/usr/hdp/3.1.5.0-152/kafka/bin/kafka-topics.sh --create  --zookeeper mutong01:2181,mutong02:2181,mutong03:2181  --topic test_kafka_consumer3  --partitions 3 --replication-factor 1/usr/hdp/3.1.5.0-152/kafka/bin/kafka-topics.sh --create  --zookeeper mutong01:2181,mutong02:2181,mutong03:2181  --topic test_kafka_consumer4  --partitions 4 --replication-factor 1
topic生产数据
/usr/hdp/3.1.5.0-152/kafka/bin/kafka-producer-perf-test.sh  --topic test_kafka_consumer1 --num-records  100000000 --record-size 687  --producer-props bootstrap.servers=172.16.120.30:6667,172.16.120.36:6667,172.16.120.37:6667  batch.size=5000 --throughput 30000/usr/hdp/3.1.5.0-152/kafka/bin/kafka-producer-perf-test.sh  --topic test_kafka_consumer2 --num-records  100000000 --record-size 687  --producer-props bootstrap.servers=172.16.120.30:6667,172.16.120.36:6667,172.16.120.37:6667  batch.size=5000 --throughput 30000/usr/hdp/3.1.5.0-152/kafka/bin/kafka-producer-perf-test.sh  --topic test_kafka_consumer3 --num-records  100000000 --record-size 687  --producer-props bootstrap.servers=172.16.120.30:6667,172.16.120.36:6667,172.16.120.37:6667  batch.size=5000 --throughput 30000/usr/hdp/3.1.5.0-152/kafka/bin/kafka-producer-perf-test.sh  --topic test_kafka_consumer4 --num-records  100000000 --record-size 687  --producer-props bootstrap.servers=172.16.120.30:6667,172.16.120.36:6667,172.16.120.37:6667  batch.size=5000 --throughput 30000
消费不同partitions的topic

消费不同partitions的topic,获取不同partition下的吞吐量

/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_consumer1 --messages 10000000 --fetch-size  1048576  --threads 4 /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_consumer2 --messages 10000000 --fetch-size  1048576  --threads 4 /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_consumer3 --messages 10000000 --fetch-size  1048576  --threads 4 /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_consumer4 --messages 10000000 --fetch-size  1048576  --threads 4

fetch-threads

fetch-thread=1
/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_consumer --fetch-size 1048576  --messages 10000000  --threads 1  --num-fetch-threads 1
fetch-thread=4
/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_consumer --fetch-size 1048576  --messages 10000000  --threads 1  --num-fetch-threads 4
fetch-thread=7
/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_consumer --fetch-size 1048576  --messages 10000000  --threads 1  --num-fetch-threads 7
fetch-thread=10
/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_consumer --fetch-size 1048576  --messages 10000000  --threads 1  --num-fetch-threads 10

总结

使用kafka自带的kafka-consumer-perf-test.sh脚本对集群消费情况进行压测,根据业务情况设置要测试的messager条数。不同的变量因素,通过修改其中一个变量条件,固定其余变量值,获取对应的吞吐速率。整理不同条件下的指标结果,形成曲线就可以观察具体的消费趋势。

请添加图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【MSP430】DriverLib库函数,GPIO相关函数介绍
  • 数据传输安全--IPSEC
  • 驱动开发系列07 - 驱动程序如何分配内存
  • Python | Leetcode Python题解之第279题完全平方数
  • ActiViz控件解析及C#实践指南
  • Atlassian Intelligence工具集解析:从自然语言到JQL处理,从虚拟代理到AI摘要、编辑器中的生成式AI等,全方位提升团队协作效率
  • 如何看待LabVIEW数据清洗的重要性?
  • 关于Tk地区
  • 【Zynq UltraScale+ RFSoC】~~~
  • 百度“萝卜快跑”火了!想要饭碗更稳,这个测试技能必会!
  • 在未来有可能实现无药无手术可以治病吗?
  • 深入理解深度学习中的“预测”与“计算”
  • Flink时间和窗口
  • rk3568 OpenHarmony4.1 Launcher定制开发—桌面壁纸替换
  • 26.x86游戏实战-寻找公共call
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Android 架构优化~MVP 架构改造
  • CODING 缺陷管理功能正式开始公测
  • CSS3 变换
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • extract-text-webpack-plugin用法
  • git 常用命令
  • Java面向对象及其三大特征
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • React Transition Group -- Transition 组件
  • VuePress 静态网站生成
  • Windows Containers 大冒险: 容器网络
  • 笨办法学C 练习34:动态数组
  • 从0到1:PostCSS 插件开发最佳实践
  • 深入浅出Node.js
  • 怎样选择前端框架
  • MPAndroidChart 教程:Y轴 YAxis
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ​马来语翻译中文去哪比较好?
  • ​业务双活的数据切换思路设计(下)
  • # wps必须要登录激活才能使用吗?
  • #pragam once 和 #ifndef 预编译头
  • #WEB前端(HTML属性)
  • (03)光刻——半导体电路的绘制
  • (C#)获取字符编码的类
  • (二)windows配置JDK环境
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (实战篇)如何缓存数据
  • (数据结构)顺序表的定义
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)人的集合论——移山之道
  • (转)用.Net的File控件上传文件的解决方案
  • (转载)PyTorch代码规范最佳实践和样式指南