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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 阿里云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进行规格选择与性能压测。
相关文章
|
2月前
|
JavaScript jenkins 测试技术
这10款性能测试工具,收藏起来,测试人的工具箱!
这10款性能测试工具,收藏起来,测试人的工具箱!
205 1
|
11天前
|
测试技术 Windows
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(下)
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(下)
17 2
|
11天前
|
测试技术 程序员
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(上)
软件测试之 性能测试 性能测试基础指标 Loadrunner、Jmeter等工具(上)
24 1
|
5天前
|
监控 Java 测试技术
性能测试:主流压测工具介绍
**性能压测工具摘要:** - Apache AB:命令行基准测试工具,简单轻量,用于评估服务器性能。 - Apache JMeter:开源Java框架,支持多种协议,适合复杂负载测试,提供丰富的图表和报告。 - nGrinder:开源,提供直观界面,支持分布式测试,录制回放脚本,实时监控。 - Locust:Python基础,适用于HTTP/WebSocket测试,可扩展,实时监控。 - LoadRunner:Micro Focus的商业工具,广泛支持多种协议,功能强大。
10 0
|
1月前
|
测试技术 API
PTS压测问题之压测空白如何解决
很遗憾,我没有找到关于PTS压测空白问题的详细解决步骤,但可以给出一些建议和思路。 首先,面对PTS压测空白问题,可以从以下几个方面进行排查和解决: 1. **检查API配置**:确认是否
|
12天前
|
测试技术 Go
go的测试编写、断言、性能测试
go的测试编写、断言、性能测试
9 0
|
2月前
|
监控 Cloud Native 测试技术
PTS 3.0:开启智能化的压测瓶颈分析
PTS 3.0:开启智能化的压测瓶颈分析
205616 118
|
19天前
|
XML JSON 测试技术
JMeter 响应断言详解:提升测试精度的利器
**摘要:** Apache JMeter的响应断言用于验证性能和功能测试中的系统响应。常见的断言类型包括文本、JSON、XPath、XML、响应代码和时间断言。配置断言涉及添加采样器、选择断言类型及设定相关参数。最佳实践建议选择合适断言类型、减少断言数量、使用正则表达式,并结合前置和后置处理器。实例演示了如何配置文本、JSON和响应代码断言来验证登录接口的成功响应。响应断言确保了测试的准确性与效率。
14 0
|
25天前
|
监控 数据可视化 Java
掌握 JMeter 插件管理器:提升性能测试的利器
Apache JMeter 是一款强大的性能测试工具,其灵活性和扩展性使其在性能测试领域广受欢迎。JMeter 插件管理器(JMeter Plugins Manager)为用户提供了一个方便的平台来安装、更新和管理各种插件,从而大大扩展了 JMeter 的功能。
25 0
|
25天前
|
缓存 Linux API
深入解析 JMeter TPS 测试:从理论到实践
本文档介绍了如何使用Apache JMeter进行TPS测试。TPS(Transactions Per Second)是衡量系统性能的关键指标,表示每秒处理的事务数。在JMeter中,创建测试计划包括配置线程组、HTTP请求、定时器和监听器。运行测试后,通过聚合报告分析吞吐量、平均响应时间和错误率来计算TPS。当TPS不足时,可优化服务器资源、应用程序代码、数据库查询或引入缓存来提升性能。掌握TPS测试有助于系统性能优化。
24 0