当前位置: 首页>大数据>正文

Kafka压测报告

Kafka压测报告,第1张

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读3.3k次,点赞86次,收藏15次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502Kafka压测报告,icon-default.png?t=N7T8,第2张https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502

一、测试目的

本次性能测试在测试环境下单台服务器上Kafka处理MQ消息能力进行压力测试。测试包括对Kafka写入MQ消息和消费MQ消息进行压力测试,根据1w、10w和100w级别的消息处理结果,评估Kafka的处理性能是否满足项目需求。

二、测试范围及方法

2.1 测试范围概述

测试使用Kafka自带的测试脚本,通过命令对Kafka发起写入MQ消息和Kafka消费MQ消息的请求。模拟不同数量级的MQ消息写入和MQ消息消费场景,根据Kafka的处理结果,评估Kafka是否满足处理亿级以上的消息的能力。

2.2性能测试场景设计

2.2.1 Kafka写入消息压力测试

测试场景

MQ消息数

每秒写入消息数

记录大小(单位:字节)

Kafka消息写入测试

1W

2000条

1000

10W

5000条

1000

100W

5000条

1000

2.2.2 Kafka消费消息压力测试

测试场景

消费MQ消息数

Kafka消息消费测试

1W

10W

100W

2.3测试方法简要描述

2.3.1测试目的

验证这台服务器上Kafka写入消息和消费消息的能力,根据测试结果评估当前Kafka集群模式是否满足上亿级别的消息处理能力。

2.3.2测试方法

在服务器上使用Kafka自带的测试脚本,分别模拟1w、10w和100w的消息写入请求,查看Kafka处理不同数量级的消息数时的处理能力,包括每秒生成消息数、吞吐量、消息延迟时间。Kafka消息入创建的topic命名为test_perf,使用命令发起消费该topic的请求,查看Kafka消费不同数量级别的消息时的处理能力。

压测命令信息:

测试项

压测消息数(单位:W)

测试命令

写入MQ消息

1

./kafka-producer-perf-test.sh --topic test_perf --num-records 10000 --record-size 1000  --throughput 2000 --producer-props bootstrap.servers=localhost:9092

10

./kafka-producer-perf-test.sh --topic test_perf --num-records 100000 --record-size 1000  --throughput 5000 --producer-props bootstrap.servers=localhost:9092

100

./kafka-producer-perf-test.sh --topic test_perf --num-records 1000000 --record-size 1000  --throughput 5000 --producer-props bootstrap.servers=localhost:9092

消费MQ消息

1

./kafka-consumer-perf-test.sh --broker-list localhost:9092 --topic test_perf --fetch-size 1048576 --messages 10000 --threads 1

10

./kafka-consumer-perf-test.sh --broker-list localhost:9092 --topic test_perf --fetch-size 1048576 --messages 100000 --threads 1

100

./kafka-consumer-perf-test.sh --broker-list localhost:9092 --topic test_perf --fetch-size 1048576 --messages 1000000 --threads 1

注:脚本执行目录——服务器上安装Kafka的bin目录;

三、测试环境

3.1 测试环境机器配置表

主 机

数量

资 源

操作系统

MQ消息服务/处理

1

Kafka(kafka_2.12-2.6.0)

--

3.2 测试工具

Kafka压测工具

Kafka自带压测脚本

四、测试结果

4.1测试结果说明

本次测试针对Kafka消息处理的能力 进行压力测试,对Kafka集群服务器中的一台进行MQ消息服务的压力测试,关注Kafka消息写入的延迟时间是否满足需求。对Kafka集群服务器中的一台进行MQ消息处理的压力测试,验证Kafka的消息处理能力。

4.2测试结果

4.2.1写入MQ消息

测试项

设置消息总数(单位:w)

设置单个消息大小(单位:字节)

设置每秒发送消息数

95%的消息延迟(单位:ms)

写入MQ消息

1

1000

2000

219

10

1000

5000

709

100

1000

5000

593

压测结果:

1.写入1w消息压测结果

执行命令及输出:

Kafka压测报告,图片,第3张

2. 写入10w消息压测结果

执行命令及输出:

Kafka压测报告,图片,第4张

3. 写入100w消息压测结果

执行命令及输出:

Kafka压测报告,第5张

kafka-producer-perf-test.sh 脚本命令的参数解析(以100w写入消息为例):

--topic topic名称,本例为test_perf

--num-records 总共需要发送的消息数,本例为1000000

--record-size 每个记录的字节数,本例为1000

--throughput 每秒钟发送的记录数,本例为5000

--producer-props bootstrap.servers=localhost:9092

MQ消息写入测试结果解析:

本例中写入100w条MQ消息为例,每秒平均向kafka写入了62.79MB的数据,大概是65837.118968条消息/秒,每次写入的平均延迟为473.35毫秒,最大的延迟为694毫秒。

4.2.2消费MQ消息

消费MQ消息

消费消息总数(单位:w)

共消费数据(单位:M)

每秒消费数据(单位:M)

消费耗时(单位:s)

消费MQ消息

1

9.74

17.24

0.56

10

95.68

91.12

1.05

100

954.07

259.96

3.67

压测结果:

1.消费1w消息压测结果

Kafka压测报告,第6张

注:必须要执行写入1w消息之后,才能执行上面的命令,否则运行时会错误!

2. 消费10w消息压测结果

Kafka压测报告,图片,第7张

3. 消费100w消息压测结果

Kafka压测报告,图片,第8张

kafka-consumer-perf-test.sh 脚本命令的参数为:

--broker-list指定kafka的链接信息,本例为localhost:9092

--topic 指定topic的名称,本例为test_perf,即4.2.1中写入的消息;

--fetch-size 指定每次fetch的数据的大小,本例为1048576,也就是1M

--messages 总共要消费的消息个数,本例为1000000,100w

以本例中消费100w条MQ消息为例总共消费了954.07M的数据,每秒消费数据大小为259.9669M,总共消费了1000424条消息,每秒消费272595.0954条消息。

五、结果分析

根据4.2.测试结果,可以看出在单台服务器上,写入MQ消息设置5000条/秒时,消息写入及时,95%的消息延迟时间小于800ms,在可接受范围内,但不够理想需要优化;Kafka消费MQ消息时,100W待处理消息的处理能力在每秒20w条以上,处理结果理想。

本次测试是在单台服务器上进行,基本不需要考虑网络带宽的影响。所以单台服务器的测试结果,对评估集群服务是否满足上线后实际应用的需求,具有参考价值。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

Kafka压测报告,第9张

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

Kafka压测报告,在这里插入图片描述,第10张

Kafka压测报告,在这里插入图片描述,第11张

Kafka压测报告,第12张


https://www.xamrdz.com/bigdata/79m1933893.html

相关文章: