上个月,我们推出了最新国产自研产品——性能测试工具 XRunner 体验版,并在技术社区推出并进行了内测,效果反响特别好,成功解决了应用系统性能瓶颈问题。
近日,我司接到一个性能测试任务,需要对正式环境下集群服务器上 Kafka 处理消息能力进行压力测试,测试内容包括:对 Kafka 写入消息和消费消息进行压力测试,并根据不同量级的消息处理结果,评估 Kafka 的处理性能是否满足项目需求测试。鉴于当下公司环境无法使用美帝产品,Jmeter 的并发数小,压测数据精确度较低,因此,XRunner 这款开源的国产性能测试工具是最优选择。由于前期大部分的服务业务数据都存在 kafka 上,在推出 XRunner 体验版前也做了不少测试和记录,本文将跟大家分享下如何在国产化性能测试工具中对 kafka 进行压测,希望这篇文章能对大家在压测 kafka 过程中有一些启发和帮助。
本次 kafka 压测,直接可在XRunner 体验版上进行。
jar 包:XRunner 安装目录下内置了 kafka jar 包存放在\XRunner\agent\lib 目录下。
1)打开 XRunner 客户端,使用 admin/admin 登录
2)单击左上角 XRunner 右侧的快捷菜单按钮
3)下拉菜单选择 “脚本用例” 选项,单击进入用例管理模块
4)【协议/接口脚本】子页面,右侧单击 “新建 http 脚本” 按钮
5)界面进入:脚本配置界面
1)单击 “脚本名称” 输入框,输入脚本名称:producer
2)单击 “描述名称” 输入框,输入描述名称:produce
3)单击 “URL” 输入框,输入 URL 地址:http://192.168.125.129:9092/topicA/101
格式介绍:
4)单击 “方法” 下拉框,选择:post
5)单击 “HTTP 内容” 文本输入框,文本框输入:testaaaaa
6)单击 “参数列表”,进行请求参数的参数化设置
7)这里我们配置一个参数:“forKafka” 供内部使用;“类型” 选择:固定参数,“参数名” 输入:forKafka
8)点击关闭 “参数列表” 配置窗口
9)单击 “保存” 按钮,保存前面我们对整个 kafka 脚本做的脚本名称、url、http 内容、参数等所有数据。
1)单击左上角 XRunner 右侧的快捷菜单按钮,选择 “测试/执行” 下拉选项
2)单击界面右上角 “+ 新建测试计划” 按钮,新建压测计划
3)弹窗选择:性能测试(WEB/HTTP/接口协议),单击 “新建计划” 按钮创建压测计划
4)单击 “测试名称” 文本输入框输入:KafkaRun,设置测试计划名称为:KafkaRun
5)单击脚本文件 “选择” 按钮,选择我们上面编写好的脚本文件:producer
6)进行压测的模型配置,这里我简单配置了下参数,大家结合实际业务压测策略调整;
7)添加本地执行器,单击 “选择添加” 按钮
8)勾选本地执行器,单击 “确定添加” 按钮
因为本身我的压测机就是本机,所有选择的就是本地执行器
9)单击 “运行” 按钮,自动开始压测,页面自动跳转到压测 “指标曲线” 页面
如果不需要马上执行,可以先保存
10)运行结束后,在 “指标数值” 子菜单页面可以查看整体情况
1)其他配置项与前面脚本配置相同,只需要将 “方法” 更改为 get 即可,不需要填写 http 参数
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。