解决最后一公里-PTS铂金版发布数据工厂

原创 2018年04月16日 17:23:06
摘要: PTS(Performance Testing Service)是web化、卓越的SaaS性能测试平台,具备强大的分布式压测能力,可模拟海量用户的真实业务场景。PTS铂金版的压力发起来源是遍布全国上百个城市和各运营商的CDN节点,相比业界产品启动更快速,来源更广泛,脉冲能力和流量掌控能力更强。

PTS(Performance Testing Service)是web化、卓越的SaaS性能测试平台,具备强大的分布式压测能力,可模拟海量用户的真实业务场景。PTS铂金版的压力发起来源是遍布全国上百个城市和各运营商的CDN节点,相比业界产品启动更快速,来源更广泛,脉冲能力和流量掌控能力更强。PTS铂金版在功能上有强大的可视化编排能力,天然支持参数的传递,有一系列的可扩展指令,用于登陆态的共享、思考时间的模拟、流量集合的构造等等。

近期,PTS铂金版发布了压测API层面的数据工厂功能,用户不再需要自行构造完整的请求体或者请求头并叠加成所有的请求数据,而是基于单个例子,选中进行参数格式化即可,PTS给用户提供了大量可扩展的函数,函数也可以嵌套使用,同时用户依旧可以上传自己的数据文件,结合PTS提供的函数功能进行数据的构造生成。

压测API是目前链路的一个升级,主要是结合了数据工厂的能力,同时名称上也更便于理解。API是一条由用户行为触发的端上请求,以电商中登陆、查询商品详情、提交订单等为例,分别对应用户一次行为中的多个请求API。API是一次场景压测中必不可少的元素,用来定义一个串联链路中每个阶段URL的具体信息。压测API包括以下信息元素:

基本配置:包括API名称、协议类型、超时时间和 请求类型 等基础配置;
API名称:标识该API表示的含义,如获取商品列表数据,要求少于 50 个字;
协议类型:目前支持 HTTP 和 HTTPS;
超时时间:请求发送出去之后该虚拟用户等待应答响应的最长时间,单位为毫秒,默认值 5000,即 5 秒;
请求类型:HTTP 请求的 method,可以选择 POST 或者 GET;
API入参定义(非必填):支持上传文件和占位符两种定义,前者支持csv文件上传一些必要的数据集,比如username和passwd,后者用于在串联链路中与前面的出参关联达到参数传递的目的;
压测URL定义:发送请求的 URL 地址,比如 http://域名/路径 。也可以包含参数的部分,如 http://域名/路径?key1=value1&key2=value2 ,选中value的部分可点击进行参数格式化设置,可将入参(有的话)、系统提供函数进行搭配生成想要的数据;
Body定义(非必填):如果请求类型为POST,可在Body中选中某些value的部分进行参数格式化定义,同上;
Header定义(非必填):定义每条压测请求中的Header信息,可以手工输入也可以进行参数格式化设置;
API出参(断言)定义(非必填):定义出参(可作为链路后续的入参)及断言(业务成功与否)条件,出参支持的形式有Body:JSON、Body:TEXT、Header:K/V 和 Cookie:K/V;
上述配置信息中,“基础配置”及“压测URL定义”是每个API的必填项,其他4项作为满足不同API的选择项。

那么,有了数据工厂之后的一次压测API的配置过程是怎样的,下面进行下简要介绍。登录 PTS 控制台,在控制台左侧菜单栏选择压测API,进入API列表页。单击页面右上角新增压测API按钮,进入新增链路页面。 输入API名称,选择协议及请求类型,确定超时时间:

部分时候,只需要对简单的批量读请求(比如打开 http://www.taobao.com )做压测,仅使用相同的URL做批量请求即可,那么直接在URL定义中填写需要压测的URL即可,POST请求的body部分同理;如果是不同请求参数不同的情况下,可以通过入参定义及参数格式化来实现。

入参定义可以通过上传参数文件及占位符的方式,来定义入参变量。前者是用于上传一些必要的数据,比如请求中需要的用户名、ID等,而后者(占位符)主要是用于占位,然后在场景中设置和其他API的出参关联,实现参数传递的功能。关于文件上传,文件格式必须为csv,且大小不超过60MB。文件中每列代表不同的参数属性,每行为一个请求中多个参数的组合,每格只需填写value即可,也可以只有一列,如果请求中某些参数需要强关联则构造在一个csv文件中并上传,相应的两个入参变量都定义起来。而文件上传之后会自动读取里面的列并展示在下方的入参定义中,您只需要定义入参的变量名即可,不需要的再删除。占位符的入参需要手工增加和定义。
为了适应更多复杂参数场景,参数的格式化可以通过字符串、入参变量、系统函数来组合,还可以继续做一些加工,如MD5、时间戳等。URL/BODY/Header的参数格式化类似,用鼠标选中需要替换的参数value,点击“点击进行参数化”,在弹窗中填写相应信息即可。
这样以来构造不同请求参数的大量的压测API变得非常简单易上手,赶快购买一个铂金版资源包用起来。当然,后续还会继续提升压测流量的构造能力,一大波新功能和新交互即将陆续推出,敬请期待。

阅读更多干货好文,请关注扫描以下二维码: 

iOS开发—真机调试 | 应用发布

-
  • 1970年01月01日 08:00

摩拜分析总结---如何解决最后一公里的调度问题

1111111
  • yiyadayan
  • yiyadayan
  • 2018-03-05 16:29:06
  • 24

全栈最后一公里 - Nodejs 项目的线上服务器部署与发布

const http = require('http')const homePage = ` Document body{ p...
  • qq_33936481
  • qq_33936481
  • 2017-06-12 22:55:29
  • 1354

Wow,通信系统中的最后一公里

据Juniper Rearch最近做的报告,到2016年,运营商将需要投入8400亿美元来解决最后回城瓶颈。如果结果为真的话,那么这个钱可以买25个爱立信 (爱立信市值340亿),或者2个多苹果(苹果...
  • joyjeanmm
  • joyjeanmm
  • 2011-09-15 22:27:46
  • 290

最后一公里极速配送

最后一公里极速配送题目描述https://tianchi.shuju.aliyun.com/competition/information.htm?spm=5176.100067.5678.2.nXe...
  • ben3ben
  • ben3ben
  • 2016-09-22 20:04:38
  • 1536

最后一公里极速配送(四)

在之前最后一公里极速配送(三)中提到的上传代码少了一个文件,下面将DataProcess.m代码公布如下,注意程序的运行方式:首先运行DataProcess.m,其次运行VPRPSO.m文件(这里可能...
  • qq_26901007
  • qq_26901007
  • 2016-08-30 15:44:46
  • 1294

通信术语“最后一公里”

 最后一公里(Last kilometer),在英美也常被称为Last Mile(最后一英里/最后一公里),原意指完成长途跋涉的最后一段里程,被引申为完成一件事情的时候最后的而且是关键性的步骤(通常还...
  • chaos436
  • chaos436
  • 2008-12-01 14:31:00
  • 494

最后一公里极速配送(三)

有关最后一公里,电商订单的配送问题源代码已经上传到csdn上面,网址为: http://download.csdn.net/detail/qq_26901007/9603456...
  • qq_26901007
  • qq_26901007
  • 2016-08-15 18:54:42
  • 1657

最后一公里——发布

2017年2月21日 下午1:28 发件人 Apple 2. 1 Performance: App Completeness2. 3 Performance: Accurate Metadat...
  • fonx
  • fonx
  • 2017-02-21 20:19:39
  • 611

最后一公里极速配送(一)

阿里最后一公里总结(一) 经过7.1到7.15日两个星期的奋战,已经初步解决了电商配送问题的优化问题,此过程中主要采用的算法是蚁群算法。我们可以将电商的配送问题化为无时间窗的VRP问题,在此过程中我们...
  • qq_26901007
  • qq_26901007
  • 2016-08-15 11:07:44
  • 1250
收藏助手
不良信息举报
您举报文章:解决最后一公里-PTS铂金版发布数据工厂
举报原因:
原因补充:

(最多只允许输入30个字)