摘要: PTS(Performance Testing Service)是web化的卓越的SaaS性能测试平台,具备强大的分布式压测能力,可方便的模拟海量用户的真实业务场景。PTS铂金版在功能上强调页面可视化编排,目前也在快速迭代中,倡导无需编码的复杂交互式压测;除了上面提及的特性之外,TPS压测模式、实时调控实时生效的调速能力也都是领先于业界的。

原文地址:http://click.aliyun.com/m/43778/

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并发的超值包以及持续往上的大量资源包可选。—详情点击【传送门】

阿里SaaS性能测试平台PTS最佳实践相关推荐

  1. 在微服务架构下基于 Prometheus 构建一体化监控平台的最佳实践

    欢迎关注方志朋的博客,回复"666"获面试宝典 随着 Prometheus 逐渐成为云原生时代的可观测事实标准,那么今天为大家带来在微服务架构下基于 Prometheus 构建一体 ...

  2. 阿里云研发工程师刘睿:阿里云消息生态及最佳实践

    2022 年 9 月 24 日,阿里云用户组(AUG)第 12 期活动在厦门举办.活动现场,阿里云消息中间件研发工程师刘睿,向参会企业代表分享了阿里云消息生态及最佳实践.本文根据演讲内容整理而成. 众 ...

  3. 《开源安全运维平台OSSIM最佳实践》实验环境下载

    <开源安全运维平台OSSIM最佳实践>实验环境下载 由清华大学出版社首发.当当.京东自营店.天猫.亚马逊均有销售. OSSIM开源安全交流QQ群: 179084574  经多年潜心研究开源 ...

  4. 《微信公众平台开发最佳实践》——第3章 基 础 接 口 3.1 接收用户消息

    本节书摘来自华章出版社<微信公众平台开发最佳实践>一 书中的第3章,第3.1节,作者:方倍工作室,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第3章 基 础 ...

  5. 开放下载!《阿里云实时数仓Hologres最佳实践合集》

    简介:<阿里云原生实时数仓Hologres最佳实践合集>电子书将会首次拆解HSAP核心原理,并介绍其在阿里巴巴双11核心场景落地的最佳实践. 点击免费下载 <阿里云实时数仓Holog ...

  6. 《微信公众平台开发最佳实践》——2.4 本章小结

    本节书摘来自华章出版社<微信公众平台开发最佳实践>一 书中的第2章,第2.4节,作者:方倍工作室,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.4 本章小 ...

  7. 《微信公众平台开发最佳实践》——2.1 新浪SAE应用

    本节书摘来自华章出版社<微信公众平台开发最佳实践>一 书中的第2章,第2.1节,作者李骏 边思,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.1 新浪SA ...

  8. 华为工业云平台:制造业企业数据平台建设最佳实践分享

    文章目录 前言 一.制造行业数字化转型和发展趋势 1.1.制造行业数字化转型发展趋势 1.2.制造行业数字化转型遇到的挑战 1.3.政策牵引,加快数字化转型升级 二.数字化转型-业务角度 2.1.智能 ...

  9. 微信公众平台开发最佳实践(第2版)

    <微信公众平台开发最佳实践 第2版> 微信公众平台开发经典之作全新改版,精心挑选最经典的商业项目开发,成千上万人次微信公众平台开发者从中受益 前言 出版说明 自从方倍工作室在博客园推出微信 ...

最新文章

  1. 定时任务:Java中Timer和TimerTask的使用
  2. 关于嵌入式系统内存地址空间的一些疑问(.text、.data、.bass、堆\栈空间)
  3. P1319 压缩技术(python3实现)
  4. MFC多线程失败:Create Instance failed
  5. pytorch实现人脸识别_PyTorch实现,GitHub4000星:这是微软开源的计算机视觉库
  6. bzoj 3385: [Usaco2004 Nov]Lake Counting 数池塘(DFS)
  7. 对象 复制构造函数
  8. hl3150cdn废粉仓清零_常见施乐联想兄弟等打印机加粉清零(废粉仓清零)方法
  9. 8192fu网卡linux,Ubuntu 折腾 RTL8192EU 无线网卡驱动
  10. 内存及Cache带宽测试
  11. mac sublime中文乱码问题解决
  12. 段式液晶结构你了解多少?
  13. 财务会计中会计科目的基础
  14. 网线插座板上网络模块接线
  15. 万国数据指责Blue Orca恶意做空 称做空报告断章取义
  16. 传奇人物《周兴和》书连载23 劳燕分飞离故里
  17. 爱阅书香之书源制作 POST请求方式
  18. 为什么包名要域名反写?
  19. 华为怎么改输入法皮肤_华为输入法
  20. python索引取值_对pandas的层次索引与取值的新方法详解

热门文章

  1. 贝佐斯:我避税、捐钱少、压榨员工,但我是为人类文明投资太空的好男孩
  2. 【Vue】模板语法 —— 表达式、插值、指令
  3. error: 'LOGE' was not declared in this scope
  4. 转成html语言,转一学就会__html语言成品代码
  5. vsftpd-2.2.2-24.el6.x86_64.rpm文件下载
  6. Windows 10进入安全模式的几种方式
  7. android画布画弧形,在Android中绘制圆弧边缘圆弧,具有浮雕效果
  8. 如何将QSV格式视频无损转换成MP4格式
  9. 配置单机版hadoop
  10. Microsoft Excel 教程:如何在 Excel 中显示或隐藏图表图例?