使用JMeter压测的模拟上传功能,可对文件、图片的上传接口进行压测。本文为您介绍如何使用Apache JMeter客户端构造脚本,并在PTS控制台完成上传接口压测。
前提条件
已开通PTS服务。
本示例使用
Apache JMeter 5.6.3
来创建脚本,PTS支持JMeter 5.0 和 5.6.3。
方案概览
在进行大规模测试时,JMeter自身的性能可能成为瓶颈,尤其是在单机模式下。即使使用JMeter的分布式测试功能,将负载分布到多台机器上。也很难做到统一调度和数据收集。此外,JMeter内置的报告和分析功能可能不够直观,难以满足复杂的分析需求,常常需要使用外部工具如Grafana、Kibana等进行数据可视化和分析。性能测试PTS的JMeter压测提供便捷的横向扩展能力,同时结合云监控集成功能持续补强JMeter在高并发和监控定位方面的能力和体验。
使用性能测试PTS的JMeter压测功能模拟图片上传可分两部分配置。
首先需要在本地计算机安装
Apache JMeter 5.6.3
来创建脚本。将脚本和图片上传到JMeter压测的场景中,并做进一步调试。调试成功后,可在此发起压测。
步骤一:使用Apache JMeter客户端构造上传脚本
配置HTTP请求的属性,包括服务器名称或IP地址、端口号、HTTP方法(如POST)、路径(上传接口的路径)、文件上传的参数等。
Basic页签配置项说明:
Protocol:选择
http
或https
。Server name or IP:接口域名,例如
www.example.com
。Port Number:服务端口号,例如
5000
。Method:选择
POST
。Path:上传接口的路径,例如
/upload
。
Files Upload页签配置项说明:
File Path:文件需上传到JMeter场景中,这里直接写文件名,不要带本地路径。例如
test.jpg
。Parameter Name:输入文件上传表单的参数名称,例如
fileToUpload
。MIME Type:输入文件的 MIME 类型,例如
image/jpeg
。
添加所需的HTTP头信息。
上传接口一般需要配置Cookie和Content-Type。本示例不涉及登录操作,暂不设置Cookie,只配置Content-Type。
运行测试计划,并在View Results Tree中查看结果,返回以下信息表示上传成功。
调试成功后,导出测试计划文件,此处命名为
uploads.jmx
。
步骤二:创建并启动JMeter压测
登录PTS控制台,选择 ,然后单击JMeter压测。
场景配置
输入场景名。
在场景装配页面,上传步骤一:使用Apache JMeter客户端构造上传脚本中导出的
uploads.jmx
文件。单击上传文件,添加一个图片文件,文件名必须和
uploads.jmx
中配置的一致。选择JMeter 版本,此处选择
5.6.3
。注意与创建脚本使用的本地JMeter版本保持一致,否则可能会报错。
施压配置
本示例从阿里云VPC内网发起压测。压测会产生相关费用,您可根据需要合理选择压力来源以及施压参数。更多信息请参考压力模式与量级配置,计费概述。
调试并启动压测
调试场景可验证配置是否合理,避免压测失败,建议您先调试场景。
场景调试成功后,单击保存去压测,在温馨提示页面,选择立即执行并勾选确认本次压测已获得准许并遵守当地法律,然后单击启动压测。
分析压测结果
压测结束后,系统会自动获取压测数据,例如压测场景指标、业务详情数据、监控详情数据和API采样日志等,生成压测报告。更多信息,请参见查看JMeter压测报告。