阿里云PTS-原生JMeter压测实战-云测试

简介: 阿里云PTS-原生JMeter压测实战-云测试

在进行性能测试时很多同学在工作中会选择jmeter作为工具来测试,但是jmeter本身有很多限制;于是现在有很多云测试了。

阿里云的PTS是一款云化性能测试工具,同时也支持原生Jmeter压测(把写好的jmeter脚本传入即可)。以下就介绍快速压测(9.9尝鲜包)和JMeter压测(278的峰值5k并发的入门包),而云端录制就不介绍了主要是这都是我自己花钱实践的,这个套餐是要628以上。。。

快速压测

一:场景配置

阿里云的PTS性能测试目前有三种方法可以创建场景;快速压测,Jmeter压测,云端录制;每一个种方法都有不同的价格套餐,如果是想试用一下就买尝鲜包好了,但是尝鲜包不可以使用JMeter压测和云端录制。

image.png

1.出参/断言定义

点击“添加压测API”;填写URL和Headers,此处的出参需注意;比如一般的系统都需要登录,登陆后会有相应的token以供后面的接口使用,那么在这里就可以把登录响应的token存下来,给后面使用。断言就是判断此条用例是否通过;

需要注意的是数据轮询:关联数据文件后才可用,选中后关联的数据文件会被轮询一次,轮询完后就不再发送新的请求。比如:设置的并发是100,但是轮询的数据只有50条,那么数据文件轮询一次后,就不会再次发送新的请求。

 

image.png

image.png

 

image.png

2.在接口中引用参数

在第二个请求就会用到:Key是系统里接口中验证权限的字段,根据各自的项目设置,Value就是登录这个接口返回的token值,使用${参数名}即可引用,这里的参数名是登录接口在出参时定义的。

image.png

3.Header设置

其实很多接口的请求头都是大同小异,可以把公共的信息写在全局变量中,那么在请求接口时就会自动带上全局设置的Header。

image.png

 

 

image.png

4.数据文件的引入

每一个用户的操作有所不同,因此每一个接口的传入参数也会不一样;比如:压测时选择并发模式,最大并发1000用户,每一个用户的用户名和密码都不一样,因此在压测登录这个接口时是不可能写定一个用户名和密码的,这样达不到压测的目的。因此就是用到了数据文件的引入。将用户名和密码写在一个文件里,用户名和密码的字段各自对应数值;可以先用excel打开在前两行分别写入用户名和密码的值,另存为csv格式。

点击:全局自定义参数->上传文件;上传后设置用户名和密码的参数,loginName,password;分别对应csv文件的第一列和第二列。

在接口中如何引用参数:使用${参数名}即可引用。

image.png

二.施压配置

1.此处的设置需要去了解什么是TPS,RPS(每秒请求数),具体如何设置是要根据系统的业务量来设置的。

image.png

2.比如:有时会遇到这种情况

为何设置了300并发,实际压测过程中并未能达到?

基本概念

  • 并发模式:即虚拟用户模式。详细定义,参见并发虚拟用户、RPS、TPS的解读
  • 并发用户数(以下简称“并发”):现实系统中同时操作业务的用户数量,在性能测试工具中一般称为虚拟用户(Virutal User)。最大并发用户数,即在压测中最多多少用户同时对压测业务产生压力。
  • RPS:Request Per Second,每秒请求数。RPS 是从服务端的视角衡量系统每秒处理的请求数,一个并发用户可能产生多个请求。
  • 由于压测的施压机计算资源有限,同时为了保证压测流量更稳定,在施压时对 RPS 有一定的限制(资源包规格中不同并发有相应的 RPS 上限)。RPS 如果到达上限,即不会增加更大的压力。

例如,将最大并发设置为 300 时,在施压配置页面您可以看到对应的 RPS 限制为 4000:

image.png

以最上面图片所示的压测为例,您会发现平均 RPS(总请求数/总压测时长)已经达到 4001(4001是采集周期内计算的合理误差),在压测趋势图中已经达到了 4000 的 RPS 上限,所以并发不会再继续往上涨了。

image.png

三:调试场景

1.调试场景

设置好一系列的请求和配置要求后为了验证每一个接口是正常的业务流程,也为了避免浪费资源,可以在正式压测之前使用调试场景。点击接口可以查看此接口的详情信息。

image.png

2.测试出参正则表达式

有时候在接口的出参设置那里不知道参数的提取表达是如何书写,就可以使用这样的方法。

选中某一个接口后点击右侧的:去测试出参正则表达式,就会出现以下界面:

image.png

在正则表达式的输入框输入表达式即可验证表达式是否正确,比如:

image.png

黄色部分就代表输入的表达式期望得到的结果;或者点击输入框的右侧下拉箭头也可选择写好的表达式;粘贴表达式到出参设置或者点击 “同步出参配置”。

JMeter压测

1. 创建压测->原生Jmeter压测->场景配置中单击上传文件,添加JMeter脚本、JAR文件(即放置在JMeter的安装目录.../lib/ext 下的相关JAR文件)和其他数据文件。  95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

2. 施压配置

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

四.压测报告

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

95dcc176-b4fc-48d6-a19a-6239ba1c34f2.png

右上角还可以导出PDF查看。

原生JMeter压测配置阿里云官方文档:https://help.aliyun.com/document_detail/91788.html?spm=5176.5176.0.dexternal.585967e4WU2y7y

 

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
21天前
|
数据可视化 测试技术 API
JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择
API测试如同筹备一场晚宴,选对工具至关重要。JMeter功能强大但上手难,适合专业用户;Postman简单易用,但在复杂场景和团队协作中表现有限;而Apipost则是一款智能高效的“厨房神器”。它性能测试轻松、结果清晰、学习门槛低,并且能一键集成CI/CD流程。对于追求效率与便捷的团队而言,Apipost无疑是更优选择,让API测试如同五星大厨烹饪般丝滑流畅。
|
7月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
279 3
|
4月前
|
缓存 网络协议
Jmeter如何对UDP协议进行测试?
`jmeter-plugins`是JMeter的插件管理器,用于管理和组织所有插件。访问[官网](https://jmeter-plugins.org/install/Install/)下载并放置于`lib/ext`目录下,重启JMeter后可在“选项”中看到插件管理器。
75 1
Jmeter如何对UDP协议进行测试?
|
8月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
245 2
|
6月前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
346 3
|
6月前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
265 3
|
6月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
156 1
|
8月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
239 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
8月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
413 7
Jmeter实现WebSocket协议的接口测试方法
|
7月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
176 4