什么?性能测试(PTS)居然还有这么多隐藏技能?

简介: 来和产品经理一起领略一下性能测试(PTS)中的geek极简风设计,如何从开发视角完成业务场景的链路压测。

最近性能测试服务 (PTS)的产品经理提了很多需求(郑重声明,来源于客户),虽然开发GG说已经上线了,但是我*,作为产品经理的智商愣是没找到。。。
看完开发GG的介绍和文档,我内心的OS是:“我!@#¥%... ...&&,这货估计被魂⽃罗和97残害了十 ⼏年,←→←→←→←→AC,↑↓↑↓↑↓↑↓BD,↑←↓→↑↓BC,上、上、下、下、左、右、左、 右、B、A、B、A。。。。。。”

给你们举例子,比如Header和Cookie设置:

基础版⾥Header的设置是这样的,在新增脚本或编辑脚本的页面,将光标移至请求链接上方,将出现链接的编辑选项,单击高级属性。

Header 项中 POST 请求默认添加 Content Type 请求头,值为 application/x-www-form- urlencoded。

铂⾦版里是这样的:

然后你发现大有文章。。。。

比如Header和Cookie的设置,其实直接支持批量在参数文件⾥设置了,⽽且超简单:格式为 “header::key=value”。
如果有多个 Header,请使用 & 隔开,与普通参数的区别是 Header 有⼀个前缀 header::,跟普通参数放在⼀起,没有顺序要求。而Cookie 是一种特殊的 header,也可以参照设置 header ⽅式来设置,例如:
开发GG说这样便于构造大量的压测数据,随导随⽤,而且有开发背景的⽤户一看就懂, 我。。。。。。。。

然后,远还没有结束,类似这种开发视⻆的,geek风的设计还有,⽐如业务场景⾥很常见的串行实践:

对于同⼀个业务系统,链路和链路之间存在⼀定的逻辑关系。链路串⾏主要适⽤用于这种存在参数依赖的场景。建议不要将只是逻辑上存在依赖的链路串⾏起来。

开发GG还不忘把理念也输出。

具体的他⽤了商城系统抽奖活动为例说明,本次活动会引导⽤户进⼊首⻚进⾏抽奖,预估的访问⾸页的峰值 TPS 为 10000,其中有 8000 TPS 进⾏了抽奖,抽中的概率为50%,那么会有⼤大概 4000 TPS 对商品进⾏浏览,根据历史的数据⽤户下单付款的概率在 10% 左右。我们可以抽象出“⾸⻚”、“抽奖”、“查看详情⻚”和“下单”等四个业务链路,从业务的维度来说存在⼀定的逻辑关系,但是我们进⼀步分析可以发现,除了首页之外,“查看详情页”和“下单”都依赖“抽奖”的结果。因此可以将后⾯三条链路串⾏起来。

然后怎么串起来呢?他说这⾥编排,呐,这⾥

开发GG是这么一本正经的给(hu)我(shuo)解(ba)释(dao)的:
​
编排是通过json格式实现的,就是数组和对象的组合,最外侧的数组就是表示并⾏的⼏个业务场景

单个场景⾥是串⾏的,然后重点来了,在单场景的数组⾥可以定义很多指令(directive),⽐如:
chain(链路)
wait(思考时间)
cookieStore(存储cookie)
cookieGet(获取cookie)
condition(条件判断)
prepare(具备监听和指挥的功能,互相关联,配合cookie的操作,⽐如需要⼏个⽤户完成登录再
进⾏其他场景的开始)
dam(集合点)

其中
chain(链路)默认就是循环执⾏,可以增加⼀个参数,只执⾏⼀次,⽐如登录场景

wait(思考时间)⽀持三种:固定时间、区间随机、正态分布,分别如下图:

cookieStore(存储cookie),⼀般在登录完成之后,如果有并⾏的场景需要共享cookie则使⽤

cookieGet(获取cookie),主要⽤于并⾏的其他场景共享使⽤

condition(条件判断),⽀持return/continue/jump,可以通过链路ID.key来获取作为判断的依据,下⾯的例⼦中这个值分别为3、4、5时对应的是return、continue、jump



prepare,这⾥的prepare就是指挥型的

这⾥的prepare是监听型的,监听上⾯这个prepare,业务侧看就是9个⽤户完成了登录就可以开始这边的业务场景了

dam(集合点),这个厉害了,适配很多真实的业务场景,秒杀、抢票、查成绩等等。



实践出真知,现在就动手吧,不客气



相关文章
|
9月前
|
Linux 开发工具
Linux VIM基本操作方式
VIM是Linux常用文本编辑器,支持多模式操作。包含普通、插入和命令三种模式,通过i/a/o等键进入插入模式,Esc返回普通模式,:进入命令模式。掌握hjkl移动、dd删除、yy复制、p粘贴及:wq保存退出等基本命令,可提升编辑效率。初学者需逐步练习,熟练运用。
485 6
|
3月前
|
人工智能 Java API
阿里云智能科教内容生成平台对接全流程指南(含代码示例)
本文详细讲解阿里云智能科教内容生成平台(SSECP/AiContent)的完整对接流程,涵盖服务开通、RAM权限配置、AccessKey获取、SDK安装与初始化、核心API调用(AI对话、内容生成、口语评测)、临时凭证管理及安全最佳实践。文章提供Java、Python、PHP多语言SDK代码示例,解析接口参数与返回值,说明高并发场景适配与成本优化策略,帮助教育机构、在线平台及硬件厂商快速集成平台AIGC能力,构建智能教学与内容生产体系。
|
5月前
|
存储 弹性计算 数据库
2026年阿里云最新优惠券种类和使用教程:含学生无门槛优惠券,企业迁云和出海扶持补贴,个人满减券等
2026年阿里云提供多样优惠券降低用户上云门槛与运营成本。学生可领300元无门槛券与算力礼包;企业可申请迁云与出海扶持补贴;个人用户可领新用户满减券、上云礼包等。各类优惠券适用于不同场景,用户可通过阿里云官网“费用”-卡券-“优惠券”管理页面查看并使用。建议用户主动了解、及时领取并巧妙搭配各类优惠券,尤其在大型活动期间,以降低购买成本。
|
6月前
|
存储 弹性计算 云计算
OpenClaw(Clawdbot)阿里云计算巢、ECS云服务器及本地部署与Skills集成保姆级教程
OpenClaw(曾用名Clawdbot、Moltbot)作为2026年开源AI自动化代理平台的核心代表,凭借“自然语言交互+插件化扩展+多环境适配”的核心优势,已成为个人办公自动化、企业轻量化数字化转型的重要工具。其核心价值在于通过Skills(技能插件)生态扩展能力边界,从基础的文档处理、信息抓取,到复杂的多平台协同、自动化工作流,均可通过安装对应Skills实现零代码落地。
716 6
|
JavaScript 安全
利用宝塔面板搭建nodejs网站(不使用pm2)
面板-安全-添加端口规则,这里步骤3中的端口。
1483 3
|
10月前
|
传感器 并行计算 自动驾驶
基于MATLAB的自动驾驶车辆轨迹跟踪程序实现
基于MATLAB的自动驾驶车辆轨迹跟踪程序实现
|
人工智能 算法
大模型不会推理,为什么也能有思路?有人把原理搞明白了
大模型(LLMs)在推理任务上表现出与人类不同的问题解决思路。最新研究《Procedural Knowledge in Pretraining Drives Reasoning in Large Language Models》发现,大模型通过合成程序性知识来完成推理任务,而非简单检索答案。这为理解其推理能力提供了新视角,并指出了改进方向,如设计更有效的算法和使用更大规模数据。论文链接:https://arxiv.org/abs/2411.12580。
653 3
|
NoSQL Redis UED
揭秘!Flask如何携手Celery,让异步任务处理不再是难题,打造极速响应的Web应用新纪元!
【8月更文挑战第31天】在Web开发中,Flask与Celery的结合为异步任务处理提供了强大支持。Flask作为轻量级Web框架,以其简洁灵活著称;而Celery则是一个分布式任务队列系统,擅长处理耗时任务。二者结合,Flask专注于处理Web请求,Celery则在后台异步执行复杂任务,如发送邮件或调用外部API。这种方式不仅提升了应用性能和响应速度,还优化了用户体验。下面的示例展示了如何在Flask应用中集成Celery以实现异步任务处理。
918 0

热门文章

最新文章