如何通过JMeter支持HTTP(S) Protobuf二进制body请求

本文介绍通过JMeter 支持HTTP(S) Protobuf二进制body请求。

前提条件

  • 开通PTS服务

  • 本示例使用Apache JMeter 5.6.3来创建脚本,PTS支持JMeter 5.0 和 5.6.3。

步骤一:使用Apache JMeter客户端构造脚本

  1. 配置HTTP请求的属性,包括服务器名称或IP地址、端口号、HTTP方法(如POST)等。image.png

    Basic页签配置项说明:

    • Protocol:选择httphttps

    • Server name or IP:接口域名,例如localhost

    • Port Number:服务端口号,例如9889

    • Method:选择GET

  2. 上传二进制pb文件。image.png

    Files Upload页签配置项说明:

    • File Path:文件需上传到JMeter场景中,这里直接写文件名,不要带本地路径。例如test.pb

    • MIME Type:输入文件的 MIME 类型,例如application/octet-stream

  3. 为请求添加HTTP Header Manager。

    指定Content-Typeapplication/x-protobuf。image.png

  4. 运行测试计划,并在View Results Tree中查看结果。image

  5. 调试成功后,导出测试计划文件,此处命名为test.jmx

步骤二:创建并启动JMeter压测

  1. 登录PTS控制台,选择性能测试 > 创建场景,然后单击JMeter压测

  2. 场景配置

    1. 输入场景名。

    2. 场景装配页面,上传步骤一中导出的test.jmx文件和二进制pb文件。image

    3. 选择JMeter 版本,此处选择5.6.3。注意与创建脚本使用的本地JMeter版本保持一致,否则可能会报错。image

  3. 施压配置

    本示例从阿里云VPC内网发起压测。压测会产生相关费用,您可根据需要合理选择压力来源以及施压参数。更多信息请参考压力模式与量级配置计费概述image

  4. 调试并启动压测

    1. 调试场景可验证配置是否合理,避免压测失败,建议您先调试场景。

    2. 场景调试成功后,单击保存去压测,在温馨提示页面,选择立即执行并勾选确认本次压测已获得准许并遵守当地法律,然后单击启动压测

分析压测结果

压测结束后,系统会自动获取压测数据,例如压测场景指标、业务详情数据、监控详情数据和API采样日志等,生成压测报告。更多信息,请参见查看JMeter压测报告