使用JMeter原生压测
- JMeter测试计划调试成功后,保存jmx文件以及csv文件。
- 准备测试资源,创建私有资源组。
- 登录性能测试服务控制台,在左侧导航栏中选择“测试资源”,单击“创建私有资源组”。
- (可选)首次使用时,请根据提示信息,授权性能测试服务创建私有资源组。
- 进入创建资源组页面后,如果是首次使用没有云容器引擎服务CCE集群,需要先执行创建集群然后再创建资源组。如果已有可用的云容器引擎服务CCE集群,直接执行创建资源组。
- 创建集群。
单击页面上方的“创建集群”,进入购买CCE集群页面。创建集群操作请参考购买CCE集群,设置集群参数。
- 推荐使用独立CCE集群用作压测,避免与测试或生产等环境CCE集群混用产生配置等冲突。
插件选择时,作为测试执行机仅保留默认安装即可,如节点本地域名解析加速、云原生监控插件等非必要插件请去除勾选,避免安装的插件占用执行机资源。
- 集群管理规模选择与执行节点个数相关,请根据需要压测的并发用户数,创建对应规格的节点。例如,需要20个执行节点,那么创建集群时集群规模选择50节点即可满足业务需求。
- CCE集群的网络模型建议选择“容器隧道网络”,容器网段和服务网段需要与被测对象保持一致。
- CentOS在高负载网络下容易出现IPVS、Conntrack相关稳定性问题,选择IPVS时不推荐您使用CentOS作为集群节点的操作系统。选择IPVS+CentOS时,网络连接复用可能存在超时。
单击“下一步:插件选择”,选择创建集群时需要安装的插件。
单击“下一步:插件配置”,默认选择即可,不需要更改。
单击“下一步:确认配置”,确认集群配置信息无误后,勾选已阅读使用说明,单击“提交”等待集群创建,集群创建预计需要6-10分钟。
集群创建成功后,返回集群管理页面,单击要创建节点的集群所在行的,进入创建节点页面。创建节点操作请参考创建节点,设置节点参数。
- 节点规格至少为vCPU为4核,内存8GB。
- 操作系统需选择欧拉EulerOS。
- 创建的节点数量至少需要2台(1台调试节点、1台执行节点),具体数量由压测对象要求规格决定。例如,压测10万并发用户数,vCPU为4核,内存8GB的资源需要21个执行节点(1个调试节点,20个执行节点)。
- 当CCE集群节点与被测应用不在同一VPC网络时,建议CCE集群节点绑定弹性IP。可使用已有的弹性IP,如果没有弹性IP也可以选择自动创建。自动创建弹性IP时,计费方式推荐按流量计费,带宽设置尽可能选择较大值,否则可能影响压测效果。系统根据您的配置创建弹性IP,并自动为每个节点进行分配。当创建的弹性IP数量小于节点个数时,会将弹性IP随机绑定到节点上。
- “高级配置(可选)”中的“K8s节点名称”选择“与节点私有IP保持一致”,默认即为此选项。选择“与云服务器名称保持一致”将导致节点无法纳管。
单击“下一步:规格确认”,确认节点配置信息无误后,勾选已阅读使用说明,单击“提交”等待节点创建。
节点创建成功后,返回性能测试服务控制台。
- 推荐使用独立CCE集群用作压测,避免与测试或生产等环境CCE集群混用产生配置等冲突。
- 创建资源组。
参照表1设置基本信息。
单击“创建”。
- 创建JMeter测试工程。
返回性能测试服务控制台,在左侧导航栏中选择“JMeter测试工程”,单击“创建JMeter测试工程”,输入工程名称,单击“确定”。
- 导入jmx文件。
- 在JMeter测试工程页面,单击编辑测试计划。
- 在“测试计划”页签中,单击“创建测试计划”。
- 在弹出的窗口中单击“添加文件”,选择格式为jmx的文件,单击“上传文件”,导入成功后将自动关闭窗口并返回“测试计划列表”页签,可以看到已添加的测试计划。
图1 导入jmx文件
- jmx文件大小限制为10M。
- 当前支持基本的JMeter脚本,包括线程组、HTTP请求、HTTP信息头管理器、请求参数、超时时间,BeanShellt等。建议您使用5.2.1以上版本的脚本进行导入,以免出现脚本解析错误。
- (可选)在“测试计划”页签中,单击“第三方jar包”,在弹出的窗口中单击“本地导入”,选择测试计划所依赖的jar包并导入,导入成功后关闭窗口。
图2 导入jar包
- Java 9及以上版本暂不支持第三方jar包上传功能。
- jar包名称长度上限为64字节(含后缀),大小上限专业版为10M,企业版为80M。
- (可选)导入变量文件。
在“测试计划”列表对应的测试名称后单击,选择“变量文件”。在弹出的窗口中单击“本地导入”,选择测试计划所引用的变量文件并导入,导入成功后“关闭”窗口。
图3 导入变量文件1
图4 导入变量文件2
- 编辑线程组。
单击JMeter测试计划的任务名称进入线程组列表,可以编辑线程组的部分参数,编辑完成后单击“确定”。
- 线程数:对应JMeter本地程序中的“Number of Threads”。
- 预热时间:对应JMeter本地程序中的“Ramp-up period”。
- 循环次数:填写需要测试的循环数。
图5 编辑线程组
- 调试JMeter测试任务。
单击“调试”,选择对应的测试资源组作为执行器后单击“启动”启动调试。如果调试结果报错,可根据日志信息,修改用例后重新调试。
图6 启动调试
- 执行JMeter测试任务。
单击“启动”,在“启动测试任务”对话框中选择“资源组类型”和“企业项目”后,单击“启动”,启动测试任务。图7 启动测试任务
- 查看测试报告。
测试任务启动成功后,单击“查看报告”,可以查看压测过程中各项指标的监控数据以及图表报告。
压测结束后,系统会生成离线测试结果报告,可下载离线报告,查看已经执行完成的测试任务报告。