阿里云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进行规格选择与性能压测。
相关文章
|
4月前
|
数据采集 缓存 测试技术
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
79 2
|
4月前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
216 3
|
4月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
103 1
|
4月前
|
缓存 监控 数据挖掘
C# 一分钟浅谈:性能测试与压力测试
【10月更文挑战第20天】本文介绍了性能测试和压力测试的基础概念、目的、方法及常见问题与解决策略。性能测试关注系统在正常条件下的响应时间和资源利用率,而压力测试则在超出正常条件的情况下测试系统的极限和潜在瓶颈。文章通过具体的C#代码示例,详细探讨了忽视预热阶段、不合理测试数据和缺乏详细监控等常见问题及其解决方案,并提供了如何避免这些问题的建议。
94 7
|
6月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
175 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
5月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
126 4
|
5月前
|
监控 测试技术
【问题实战】Jmeter中jtl格式转换图片后如何分开展示各个性能指标?
在使用JMeter进行性能测试时,若希望将不同性能指标(如CPU、DiskIO、Mem)分别显示在不同图片中,需在测试计划中为每个指标添加独立的`jp@gc - PerfMon Metrics Collector`监控器,并设置各自的数据保存路径。通过命令行模式执行压测并使用`JMeterPluginsCMD`工具针对每个生成的`.jtl`文件转换为单独的图片,从而实现分指标展示的效果。这解决了默认情况下所有监控指标显示在同一张图片上的问题。
115 0
【问题实战】Jmeter中jtl格式转换图片后如何分开展示各个性能指标?
|
6月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【9月更文挑战第5天】性能测试是确保应用在高负载下稳定运行的关键。本文介绍Apache JMeter和Locust两款常用性能测试工具,帮助识别并解决性能瓶颈。JMeter适用于测试静态和动态资源,而Locust则通过Python脚本模拟HTTP请求。文章详细讲解了安装、配置及使用方法,并提供了实战案例,帮助你掌握性能测试技巧,提升应用性能。通过分析测试结果、模拟并发、检查资源使用情况及代码优化,确保应用在高并发环境下表现优异。
111 5
|
6月前
|
测试技术 Apache 数据库
从慢如蜗牛到飞一般的感觉!Python性能测试实战,JMeter&Locust助你加速🏃‍♂️
【9月更文挑战第6天】你的Python应用是否曾因响应缓慢而让用户望而却步?借助JMeter与Locust,这一切将迎刃而解。JMeter作为Apache基金会的明星项目,以其强大的跨平台和多协议支持能力,成为性能测试领域的魔法师;而Locust则以Python的简洁与高效,让性能测试更加灵活。通过实战演练,你可以利用这两款工具轻松识别并解决性能瓶颈,优化数据库查询、网络配置等,最终使应用变得敏捷高效,轻松应对高并发挑战。
44 1
|
7月前
|
消息中间件 Kafka 测试技术
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能
【Azure 事件中心】使用Kafka的性能测试工具(kafka-producer-perf-test)测试生产者发送消息到Azure Event Hub的性能

热门文章

最新文章

  • 1
    Jmeter如何对UDP协议进行测试?
  • 2
    小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
  • 3
    3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密
  • 4
    Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 6
    基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
  • 7
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
  • 8
    「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
  • 9
    用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
  • 10
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡