云原生性能测试工具 如何借助国产性能测试工具对 kafka 进行压测

沉鱼落雁 · 2022年05月06日 · 5295 次阅读

上个月,我们推出了最新国产自研产品——性能测试工具 XRunner 体验版,并在技术社区推出并进行了内测,效果反响特别好,成功解决了应用系统性能瓶颈问题。

近日,我司接到一个性能测试任务,需要对正式环境下集群服务器上 Kafka 处理消息能力进行压力测试,测试内容包括:对 Kafka 写入消息和消费消息进行压力测试,并根据不同量级的消息处理结果,评估 Kafka 的处理性能是否满足项目需求测试。鉴于当下公司环境无法使用美帝产品,Jmeter 的并发数小,压测数据精确度较低,因此,XRunner 这款开源的国产性能测试工具是最优选择。由于前期大部分的服务业务数据都存在 kafka 上,在推出 XRunner 体验版前也做了不少测试和记录,本文将跟大家分享下如何在国产化性能测试工具中对 kafka 进行压测,希望这篇文章能对大家在压测 kafka 过程中有一些启发和帮助。

本次 kafka 压测,直接可在XRunner 体验版上进行。

jar 包:XRunner 安装目录下内置了 kafka jar 包存放在\XRunner\agent\lib 目录下。

jar包目录

1.进入脚本编辑页面

1)打开 XRunner 客户端,使用 admin/admin 登录

2)单击左上角 XRunner 右侧的快捷菜单按钮

3)下拉菜单选择 “脚本用例” 选项,单击进入用例管理模块

4)【协议/接口脚本】子页面,右侧单击 “新建 http 脚本” 按钮

5)界面进入:脚本配置界面

2.脚本编辑操作

1)单击 “脚本名称” 输入框,输入脚本名称:producer

2)单击 “描述名称” 输入框,输入描述名称:produce

3)单击 “URL” 输入框,输入 URL 地址:http://192.168.125.129:9092/topicA/101
格式介绍:

  • 192.168.125.129:9092 为 kafka 服务 IP 与端口
  • topic 是消息主题
  • 101 是消息发送重复次数

4)单击 “方法” 下拉框,选择:post

5)单击 “HTTP 内容” 文本输入框,文本框输入:testaaaaa

6)单击 “参数列表”,进行请求参数的参数化设置

7)这里我们配置一个参数:“forKafka” 供内部使用;“类型” 选择:固定参数,“参数名” 输入:forKafka


8)点击关闭 “参数列表” 配置窗口

9)单击 “保存” 按钮,保存前面我们对整个 kafka 脚本做的脚本名称、url、http 内容、参数等所有数据。

3.创建测试计划,执行压测

1)单击左上角 XRunner 右侧的快捷菜单按钮,选择 “测试/执行” 下拉选项

2)单击界面右上角 “+ 新建测试计划” 按钮,新建压测计划

3)弹窗选择:性能测试(WEB/HTTP/接口协议),单击 “新建计划” 按钮创建压测计划

4)单击 “测试名称” 文本输入框输入:KafkaRun,设置测试计划名称为:KafkaRun

5)单击脚本文件 “选择” 按钮,选择我们上面编写好的脚本文件:producer


6)进行压测的模型配置,这里我简单配置了下参数,大家结合实际业务压测策略调整;

  • 配置并发 10 用户
  • 循环 10 次
  • 运行 10 分钟

7)添加本地执行器,单击 “选择添加” 按钮

8)勾选本地执行器,单击 “确定添加” 按钮
因为本身我的压测机就是本机,所有选择的就是本地执行器

9)单击 “运行” 按钮,自动开始压测,页面自动跳转到压测 “指标曲线” 页面
如果不需要马上执行,可以先保存

10)运行结束后,在 “指标数值” 子菜单页面可以查看整体情况

4.消费脚本创建

1)其他配置项与前面脚本配置相同,只需要将 “方法” 更改为 get 即可,不需要填写 http 参数

5.集群测试配置

1)在 producer 脚本中增加:头域

2)增加 Kafka-Server 头域,输入:192.128.125.129:9092,192.128.125.130:9092
上面输入的值是集群中多个 kafka server 的 ip 和端口,大家根据自己实际环境输入

3)更改 “Content-Type” 的值为:text/plain

改完之后为:

4)剩下操作就是创建压测执行计划,这样就可以向 kafka 集群发起整体压测了。

如想了解更多 XRunner 的功能,随时可联系我们:13533759898。

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册