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

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

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变得非常简单易上手,赶快购买一个铂金版资源包用起来。当然,后续还会继续提升压测流量的构造能力,一大波新功能和新交互即将陆续推出,敬请期待。

相关文章
|
编解码 测试技术
【自己动手画CPU】单总线CPU设计(二)
【自己动手画CPU】单总线CPU设计(二)
463 1
|
存储 安全 Ubuntu
群控软件代理,群控服务器配置要求
群控软件代理,群控服务器配置要求
494 8
|
安全 Java Nacos
nacos常见问题之反序列化漏洞如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
1042 1
|
人工智能 搜索推荐 算法
玩转通义星尘:体验定制化多样角色能力
在杭州云栖大会上,阿里云对外展示了一款个性化角色创作平台——**通义星尘**,其基于大规模高质量个性化对话数据,采用分阶段的个性化训练策略,使得模型在保持通用能力的基础上,延伸出拟人、具有情感、鲜明语言风格的能力,在角色的个性、风格遵循上具有更强的指令遵循能力。那么其能力展现到底如何?我们又能玩出哪些花样呢?今天开始测试通义星尘,争取年前把8个垂直模型都测试一遍,,加油!本文为原创,未经许可请勿搬运。
玩转通义星尘:体验定制化多样角色能力
|
存储 消息中间件 RocketMQ
DLedger —基于 raft 协议的 commitlog 存储库
尊敬的阿里云用户: 您好!为方便您试用开源 RocketMQ 客户端访问阿里云MQ,我们申请了专门的优惠券,优惠券可以直接抵扣金额。请填写下您公司账号信息,点击上图,了解更多哦。 一、DLedger引入目的 在 RocketMQ 4.5 版本之前,RocketMQ 只有 Master/Slave 一种部署方式,一组 broker 中有一个 Master ,有零到多个 Slave,Slave 通过同步复制或异步复制的方式去同步 Master 数据。
13444 99
|
开发者 容器
flex 布局属性在实际项目中的应用场景有哪些?
flex 布局属性在实际项目中的应用场景有哪些?
|
11月前
|
机器学习/深度学习 人工智能 算法
传统笔触与算法洪流:AI时代的艺术创作挑战
本文探讨了传统艺术与AI技术在创作中的共生关系及其对艺术生产力的赋能。研究表明,混合工作流能显著提升效率,而传统媒介带来的“意外美学”与AI生成的跨时空意象拼接相辅相成。AI通过快速生成视觉原型、优化色彩方案和提供即用元素,极大加速创作过程。同时,人机协同可实现风格融合、逆向思维训练及动态知识网络构建,但创作者需建立风格防火墙、验证机制和价值评估体系以守住创作主权。未来艺术教育将涵盖多层能力培养,具备跨维能力的艺术家市场竞争力将大幅提升。最终,真正成功的创作者是能够融合传统与科技、让艺术回归情感表达本质的“双脑创作者”。
528 0
|
存储 缓存 网络协议
计算机网络:思科实验【2-MAC地址、IP地址、ARP协议及总线型以太网的特性】
计算机网络:思科实验【2-MAC地址、IP地址、ARP协议及总线型以太网的特性】
|
存储 安全 Linux
【Linux 创建临时文件 API】编程中的瞬息之光:临时文件的艺术与智慧 tmpnam,tmpfile,mkstemp,mkdtemp等函数解析...
【Linux 创建临时文件 API】编程中的瞬息之光:临时文件的艺术与智慧 tmpnam,tmpfile,mkstemp,mkdtemp等函数解析...
362 0
|
消息中间件 网络协议 Dubbo
Netty是什么,为什么要使用Netty?
最近,也不知道什么原因,经常有粉丝问我关于Netty的问题。难道是大厂面试更卷了,开始关注更加底层的框架了?先不深究什么原因了,今天,我给大家分享一下什么是Netty,它能解决什么问题?
266 0