共计 3611 个字符,预计需要花费 10 分钟才能阅读完成。
简介: 性能测试 PTS(Performance Testing Service)是具备弱小的分布式压测能力的 SaaS 压测平台,可模仿海量用户的实在业务场景,全方位验证业务站点的性能、容量和稳定性。
阿里云
阿里云智能 GTS- 平台技术部 -SRE 团队
1. 简介
(1)概述
性能测试 PTS(Performance Testing Service)是具备弱小的分布式压测能力的 SaaS 压测平台,可模仿海量用户的实在业务场景,全方位验证业务站点的性能、容量和稳定性。
PTS 指标是将性能压测自身的工作继续简化,使用户能够将更多的精力回归到关注业务和性能问题自身。在 PTS 平台上,用户能够用较低的人力和资源老本,结构出最靠近实在业务场景的简单交互式流量,疾速掂量零碎的业务性能情况,为性能问题定位、容量最佳配比、全链路压测的流量结构提供最好的帮忙。进而晋升用户体验,促成业务倒退,最大水平实现企业的商业价值。
(2)压测流程
PTS 提供全面高效的压测流程,具体如下图所示。
图 1:PTS 压测流程图
压测流程阐明:
- 在 PTS 管制台上,筹备压测 API 数据,结构压测场景,定义压测模式、量级等;反对随时启停压测,压测过程中可调速。
- 压测启动后,PTS 后盾的压测控制中心将主动调度压测数据、压测工作和压测引擎。
- 通过随机调度全国上百个城市和运营商的内容散发网络 CDN(Content Delivery Network)节点,发动压测流量。保障从虚构用户并发量、压测流量的分散度等维度都靠近真正的用户行为,压测后果更加全面和真实可信。
- 通过压测引擎向用户指定的业务站点发动压测。
- 压测过程中,通过集成云监控产品,联合 PTS 自有的监控指标,实时采集压测数据。
- 在 PTS 控制台,实时展示压测数据,进行过程监控;压测完结后,生成压测报告。基于整个压测场景的性能体现,定位性能问题、发现零碎瓶颈。
(3)压测创立形式
PTS 反对以下 4 种形式创立压测场景(或称压测用例),如图所示:
图 2:压测场景创立形式
阐明:
- 形式一:PTS 自研零编码可视化编排,应用自研弱小引擎压测。
- 形式二:应用 PTS 自研云端录制器的应用,零侵入录制业务申请并导入 1 中的自研交互中进行进一步设置。
- 形式三:将导入脚本压测 1 中的 PTS 自研交互中,应用 PTS 自研引擎。
- 形式四:JMeter 原生压测并应用原生 JMeter 引擎进行压测,PTS 提供自定义的压力结构和监控数据汇聚等产品服务。
其中,形式一、二、三因为应用了 PTS 的自研引擎,具备 RPS(Requests per Second)吞吐量压测模式、秒级启动、实时控制、定时压测和流量遍布全国运营商网络的差异化能力,其中形式一是 PTS 最外围的一种压测场景创立形式。
2. 具体性能
PTS 以互联网化的交互为根底,提供丰盛的 API 编排性能。反对按需设定压测模式、压测量级、压测工夫,疾速发动压测,监控压测过程并生成报告。同时也兼容开源工具 JMeter,确保晦涩的压测体验。
(1)压测场景构建
要发动一次性能压测,首先须要创立一个压测场景,进行业务 API 的编排。次要性能如下:
- 反对多个 API 并行或者有序串行。
- 反对 API 地址中增加参数,实现申请的动态变化。参数次要包含零碎函数、文件参数、字符串、出参、其余自定义参数和它们彼此之间的组合。
- 反对 Cookie 传递,模仿用户登录场景。
提供丰盛的指令性能,如集合点、思考工夫等,扩大场景的仿真度。 - 反对压测前的场景调试,可进行简单场景的数据流向校验。
- 提供云端录制器,便于挪动端的申请抓取,可一键导入到压测场景中。
(2)压测流量管制
压测流量的管制是性能压测中最重要的一环。次要性能如下:
- 反对两种压测模式:并发模式(虚构用户并发)和 RPS 模式(Request per Second,即吞吐量模式)。RPS 压测模式为 PTS 独有,可能更精准地掂量服务端零碎的能力。
- 随机调度遍布全国各地的压测引擎,一分钟内疾速启动压测。
- 反对定时压测,可指定启动压测的日期、工夫及循环周期等。联合服务等级定义 SLA(Service Level Agreement)指标监控,触发告警或进行压测,实现智能压测。
- 反对两种调速模式:主动递增和手动调整。压测流量的调整秒级失效。
- 反对最高千万级的流量刹时脉冲,多重机制确保压测流量及时进行。
(3)压测数据监控
PTS 提供压测过程监控,展示实时数据。次要性能如下:
- PTS 的监控指标包含每个 API 的并发、TPS(Transactions per Second)、响应工夫、采样的日志等。同时从不同细分维度,统计了 API 申请的胜利、失败状况和响应工夫。
- 反对增加阿里云生态内的云监控产品,可提供包含 ECS、SLB 和 RDS 在内的各产品的性能指标监控。
- 反对创立服务等级协定 SLA(Service Level Agreement)规定并关联到不同的业务场景,对业务压测场景进行更智能的管制和更全面正当的评估,同时 PTS 也提供了大量 SLA 模板。
(4)压测报告导出
在压测进行之后,零碎会主动收集压测过程中的监控数据(包含云监控的数据),造成压测报告,供用户查看和导出。
(5)开源工具(JMeter)集成
除了弱小的原生性能,同样反对开源压测工具 JMeter 引擎发动的压测。用户只须要在本地实现 JMeter 脚本调试,即可在 PTS 上疾速进行自定义并发的压测。同时,可在管制台上进行 Timer、Controller 相干指令的分布式适配设置。
3. 劣势
PTS 比照个别的压测工具,具备平台稳固牢靠、功能强大、流量实在和配套欠缺等劣势。
(1)平台稳固牢靠
- 阿里巴巴中间件技术部高可用团队倾心打造,通过外部五年以上的全生态积淀,平台及技术稳定性高。
- PTS 是基于反对阿里巴巴全生态多达五年的单链路 / 全链路压测平台的再增强版本。
- PTS 反对了多个行业,波及电商、多媒体、金融保险、物流快递、广告营销、社交等等。
(2)功能强大
- 全 SaaS 化状态,无需额定装置和部署。
- 0 装置的云端录制器,更适宜挪动端 APP 场景。
- 数据工厂性能,0 编码实现压测的 API/URL 的申请参数格式化。
- 简单场景的全可视化编排,反对登录态共享、参数传递、业务断言,同时可扩大的指令性能反对多状态的思考工夫、流量蓄洪等。
- 独创的 RPS / 并发多压测模式。
- 流量反对动静秒级调整,百万 QPS 亦可刹时脉冲。
- 弱小的报表性能,将压测客户端的实时数据做多维度细分展现和统计,同时主动生成报告供查阅和导出。
- 压测 API/ 场景均可调试,压测过程提供日志明细查问。
(3)流量实在
- 流量来源于全国上百城市笼罩各运营商(可拓展至海内),实在模仿最终用户的流量起源,相应的报表、数据更靠近用户实在体感。
- 施压能力无下限,最高反对千万 RPS 的压测流量。
(4)配套欠缺
- 除了压测平台之外,可付费增值提供全链路压测解决方案输入,全方位保障站点安稳应答业务峰值。
4. 利用场景
性能测试 PTS(Performance Testing Service)具备弱小的分布式压测能力,利用非常宽泛。
(1)实用于多业务场景
不管您处于哪个行业,在以下业务场景(但不限于),PTS 都是您最佳的性能测试工具。
图 3:PTS 业务场景展现
- 新零碎上线:通过 PTS,精确探知站点能力,避免零碎一上线即被用户流量打垮;
- 技术升级验证:大的技术架构降级后进行性能评估,验证新技术场景的站点性能状态;
- 业务峰值稳定性:大促流动等峰值业务稳定性考验,保障峰值业务不受损;
- 站点容量布局:对站点进行精细化的容量布局,分布式系统机器资源分配;
- 性能瓶颈探测:探测系统中的性能瓶颈点,进行针对性优化。
(2)实用行业宽泛
PTS 利用行业宽泛,波及电商、多媒体、金融保险、物流快递、广告营销、社交等等。
PTS 服务阿里巴巴全生态多年,反对了天猫双 11、双 12、年货节等大促流动。植根于电商行业的 PTS,对电商的典型业务模型反对得更敌对,压测起源更宽泛,脉冲能力和流量掌控能力更强。
PTS 自商业版公布以来,吸引了来自多媒体、金融保险、政务等泛滥行业的用户,以其弱小的压测场景编排能力和报表能力,帮忙用户疾速发现问题,进行针对性地调优,晋升了零碎承压能力。
(3)实用于多种网络环境
不管您的业务位于私有云、专有云、混合云、或者自建 IDC 中,只有可能通过公网拜访,PTS 都可能通过遍布全国上百个城市和各运营商的 CDN 节点发动压测流量,最大水平地模仿实在业务场景。
(4)实用于应用 HTTP/HTTPS/WebSocket 等协定的客户端
PTS 自身的 GUI 模式反对 HTTP/HTTPS 协定的压测,无论您的客户端是自研的 APP、挪动端网页、PC 端网页、微信小程序还是 C/S 构造的软件,都能够应用 PTS 进行压测。PTS 同时集成了开源 JMeter,反对更多的协定和场景,例如您能够通过“JMeter + WebSocket 插件”的形式,对应用 WebSocket 协定的客户端进行压测(在 PTS 上传相应的插件 JAR 文件即可),其余协定以此类推。
原文链接
本文为阿里云原创内容,未经容许不得转载。