阿里SaaS性能测试平台PTS最佳实践

PTS铂金版是阿里云推出的SaaS性能测试平台,具备分布式压测能力,支持复杂交互式压测,无需编码。产品特点包括VUM计费模型、链路与串联链路概念、TPS压测模式及指令功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PTS(Performance Testing Service)是web化的卓越的SaaS性能测试平台,具备强大的分布式压测能力,可方便的模拟海量用户的真实业务场景。PTS于2015年正式在阿里云上线,为广大用户提供极具性价比和业界领先的性能压测解决方案。

PTS铂金版是2016年8月正式发布的全新产品,核心能力基于服务阿里全生态多达4年以上的单链路/全链路压测平台,该平台对内除了支持日常的外部流量压测之外,同时支持了大大小小的大促活动,如天猫双11、双12和年货节等等;PTS铂金版的压力发起来源是遍布全国上百个城市和各运营商的CDN节点,相比业界产品的云主机发起,更快速,来源更广泛,脉冲能力和流量掌控能力更强。

PTS铂金版在功能上强调页面可视化编排,目前也在快速迭代中,倡导无需编码的复杂交互式压测;除了上面提及的特性之外,TPS压测模式、实时调控实时生效的调速能力也都是领先于业界的。PTS铂金版会持续的提供高性价比的最佳实践。

PTS铂金版有哪些特点,涉及哪些术语和概念?

我们(阿里高可用团队)希望将性能压测本身的工作持续地简化,将更多的精力回归到业务和性能本身,通过性能、体验的提升创造更大的价值,更好的降低成本,更稳定地支持核心的活动。我们选择通过PTS铂金版这款好用不贵的产品输出我们的最佳实践。PTS铂金版就是由阿里巴巴 中间件-高可用团队创造和维护的产品。

那么,在一个压测闭环中,PTS及其他阿里云产品覆盖了重要的三部分的能力:翻译构造流量的能力、模拟掌控真实流量的能力、展现和定位问题的能力。

PTS铂金版涉及的几个主要的术语和概念如下:

  • VUM:VUM(每虚拟用户每分钟)是性能测试PTS的计费单位,VUM=VU(压测任务并发用户数值)* M(压测任务执行时长,按分钟粒度,不满一分钟按一分钟计算),举例:100并发用户运行10分钟即1000VUM, 1并发用户运行1000分钟也是1000VUM,以此类推。比较贴心的是PTS铂金版并不是同大部分SaaS压测产品那样基于压测时间预设的最高并发计算VUM,而是按照实际的消耗VUM计费。
  • 链路:在 PTS 中被定义为一种业务行为,可以是一个接口、页面等,是一个最小的单位。以电商为例,登录、查询商品详情、提交订单和付款等都是一个链路。
  • 串联链路:串联链路是一组含有某种业务含义的链路的有序集合(事务),链路只有在同一个串联链路中才能进行入参和出参关联(运行时数据传递)等。
  • 场景:串联链路的一组集合组成场景,场景也就能模拟各种有序集合的组合形态,也就是复杂业务场景。
  • 压测模式:PTS铂金版支持并发模式和TPS模式两种,特别是第二种是独创的一种压测模式,更侧重一步到位地评估被压测端的吞吐能力,因为所谓的并发在服务端最终是被网络解耦为有先后顺序的请求。
  • 指令:为了更加贴合业务逻辑、更加真实地模拟用户行为,PTS铂金版提供了一系列的指令功能,指令是一种可以改变、控制链路执行的行为和流程的功能组件。指令可以穿插在串联链路的各个位置,一般来说只会对单个串联链路起作用,某些特殊的指令也会对多个串联链路同时起作用。

PTS铂金版如何做一次压测?

由于篇幅原因,下面介绍一个简单的压测配置过程,更多强大的扩展可以通过购买资源包自行做深度体验。

假设我们的压测场景是一个 首页 -> 搜索 -> 详情 -> 思考时间 -> 下单 的流程,也就是说压测场景中包含一个串联链路,一个串联链路中是4个链路。

那么我们首先录入和设置这4个链路,在左侧导航栏中单击链路管理,在链路列表页面右上角单击新增链路,录入基本信息。

如果需要给每个请求单独构造请求体、请求头、Cookie或者是URL的,那么按照PTS的文档介绍构造完成之后上传即可。

在业务上某些链路需要输出一些值给到后续链路的,比如首页传递userid、name给到后续链路,搜索传递搜索到的itemId给到详情和下单页面的,那么需要在相应的链路中定义出参(支持正则和JSON表达式的解析,详见文档)。

对应的,需要出参的链路定义一个入参,并在场景中关联(后面场景部分再介绍)。入参的定义很简单,主要是一个变量的申明,需要使用的的时候可以直接在文件中直接通过 #{param} 占位符来引用。举例说明,详情链路有一个名为 “itemid” 的入参,那么压测文件中只需要 itemid=#{itemid}&age=12 这么使用即可。


接下来进入场景构建步骤,在控制台左侧导航栏中单击场景管理,在场景列表页面单击新增场景。输入场景名称(可以以业务来命名),设置持续时间(压测的最长时间),选择模式(TPS 或 并发 模式),然后单击确定。


前面有讲到,场景中只有一个串联链路,然后在串联链路中添加前面配置的业务链路,在添加的时候如下图所示关联前后的出/入参,设置单个链路的起步和目标压测值即可。

在指令部分,这个例子中增加了最常见的思考时间,思考时间用于模拟用户在前后两个节点间思考、反应花费的时间,支持多种模式,如固定值、均匀分布和正态分布。


其他还有一系列的指令,如集合点、Cookie的导入导出等等,具体参见文档并视业务情况使用即可。

全部配置完成之后的效果如下:


当然启动前可以使用调试场景的功能方便的进行场景的调试,在不计费的情况下会跑一条数据或者一次轮询并结构化地展示各链路的请求/响应情况,对出入参/断言都会单独展示出来便于问题的排查。

接着保存配置或者直接去压测,实时的客户端视角的监控和报表效果如下图:


当压测完成之后会自动生成报表,分为概览和明细两部分,话不多少直接看图:

怎么样,是不是已经跃跃欲试了,PTS铂金版现重磅推出9.9的超值尝鲜包,享有完整的功能,最高500的并发,CDN发起流量,总量1万的VUM,也就是说500并发对应可能是几千的TPS,如此吞吐量的情况下也能进行20分钟的压测哦,好用不贵!同时还有最高1W并发的超值包以及持续往上的大量资源包可选。

原文链接:http://click.aliyun.com/m/43778/

### 阿里性能测试 PTS 使用指南 #### 功能介绍 阿里性能测试服务(Performance Testing Service, PTS)是一个基于云端的自动化负载生成工具,旨在帮助开发者和企业评估Web应用程序和服务在不同压力条件下的表现。该服务平台提供了强大的分布式压测能力,能够模拟大量并发用户的访问请求来检测系统的响应速度、吞吐量以及稳定性等指标[^1]。 #### 如何使用 为了有效地利用PTS执行性能测试,用户可以遵循以下操作流程: - **创建项目**:登录至阿里云控制台,在其中新建一个用于承载特定应用或API接口的压力测试计划。 - **配置场景**:设定好待测目标URL地址及相关参数;定义虚拟用户数量及其行为模式——这决定了整个过程中产生的流量特征。 - **启动测试**:确认各项设置无误之后点击运行按钮即可开始正式施加负荷于被试对象之上。 - **监控反馈**:实时查看仪表板上显示的各项统计数据图表,以便及时掌握当前状况并对异常情况进行处理。 - **报告分析**:结束后系统会自动生成详尽的结果文档供进一步解读与优化建议参考之用。 ```bash # 登录阿里云控制台并导航到PTS页面 https://www.aliyun.com/product/pts ``` #### 最佳实践 当准备实施一次有效的性能测试时,应当注意以下几个方面以确保获得可靠的数据支持决策制定过程: - 明确目的范围:提前规划好想要验证的具体内容是什么样的工作负载级别下系统的表现形式最为重要。 - 设计合理脚本:编写能充分反映真实业务逻辑特性的测试案例集,并考虑到可能存在的边界情况。 - 渐增式加载:采用逐步增加并发数的方式来进行探索性研究而非一次性达到峰值以免造成不必要的资源浪费甚至崩溃风险。 - 多次重复试验:鉴于网络环境波动等因素的影响每次得到的成绩可能存在差异因此有必要多次测量取平均值作为最终评判依据。 - 综合考量因素:除了关注TPS/QPS这类量化型KPI之外还需兼顾CPU利用率内存占用率磁盘I/O速率等方面的变化趋势综合评价整体效能水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值