持续测试新范式:拨压测一体化

news2025/6/25 15:05:35

作者:拂衣

近日,在 TiD2023 质量竞争力大会上,来自阿里云云原生可观测团队的吴垚进行了《持续测试新范式:拨压测一体化》主题分享,本次分享包含三部分:

  • 业务连续性对稳定性平台的需求
  • 阿里稳定性平台的演进及趋势分析
  • 拨压测一体化的概念及最佳实践

图片

如何保证业务连续性

图片

在正式开始今天的话题前,我们先来聊一聊业务连续性。随着信息技术的快速发展和广泛应用,以互联网和金融业为代表的业务创新和正常运转越来越依赖于信息系统的安全和稳定运行。如何保证信息系统所支持的关键业务功能在故障或灾难发生后能及时恢复和持续运作,以减少故障或灾难可能造成的损失,已成为技术建设和运行维护必须考虑的重点课题。

不管是行业企业还是政府机构,对灾难恢复和业务连续性建设一直都十分重视,出台多项规范和指定性意见,如金融行业的《信息安全技术信息系统灾难恢复规范》(GB/T 20988 – 2007)和《银行业信息系统灾难恢复管理规范》(JR/T0044-2008)等标准、规范。同时,业界有非常多关于业务连续性的模型指导企业落地连续性建设,其中最让人熟知的就是 6R 模型。6R 模型详细描述故障从产生到结束的完整生命周期。纵览模型的整个周期,我们可以看到,整个周期被划分三道防线从而去保障业务的连续性:事前防控、事中应对、事后重建。

业务中断发生前,主要进行事前防控的工作,称为 Reduce(减少)阶段,即风险减少阶段。Reduce(减少)阶段是组织团队进行日常风险管理、IT 运维管理、业务连续性管理等管理工作。业务中断发生后,进行事中应对工作,并分为 Respond(应急响应)阶段和 Recover(恢复)&Resume(重启)阶段。Respond(应急响应)阶段阶段进行人员召集、情况了解和通报、损失评估、故障排查等工作;Recover(恢复)阶段主要执行恢复预案,包括IT部分的和业务部分以及配套支持职能部分的预案。恢复预案执行的启动是在宣布故障或灾难后开始。恢复预案执行完毕后事件稳定,进入 Restore(重建)和 Return(返回)阶段,业务回到正常状态。

在不断总结和复盘稳定性建设的过程中,我们发现在事前防控、事中应对阶段投入越多,全年故障发生总量也会相应降低。因此,我们对稳定性建设进行持续投入的同时,明确两个核心需求,即两个防线加固:

第一道防线加固: 模拟真实流量做压测,验证系统容量;故障演练,验证系统容灾容错能力。

第二道防线加固: 感知中断点左移,及时发现业务故障;建立开关预案机制,快速降级止损。

首先,是第一道防线的加固,即事前防控尽可能拦截到更多的故障。一方面,在业务上线之前做到充分的功能测试同时,对关键核心业务进行模拟真实流量的容量测试,也就是压力测试。另一方面,在整个系统上线之前,对预生产环境或灰度环境进行故障演练。比如说对基础设施层、应用层分别注入故障,观察系统自愈能力是否符合预期。所以,第一道防线加固需要确保在系统上线之前,能够把这个故障提前收敛掉。

其次,是第二道防线的加固,即缩短事中应对所花费的时间。事中应对的时间分为两个:感知时间与 Recover(恢复)时间。针对感知时间,这给监控和稳定性平台提出了新要求,即让感知点尽量左移,不要等到客户已感知到故障并反馈之后,才进行处理。做到能够提前主动感知到并在探测到故障之后进行快速的止损。同时,在实际生产过程中,随着各种意想不到的故障越来越多,我们就需要一套完整的预案机制。这其实就是 SRE 体系的建设,通过一套完整的应对机制来应对各种的故障。在阿里实践过程中,我们设计了开关预案机制,将历史发生的各种故障都抽象提炼到预案中。对故障处理的过程中,设计能够动态配置的功能降级开关。在大促时,如果有些业务的容量已达到水位阈值并会影响到稳定性时,可以直接通过动态的开关把对应功能进行降级,保证用户的整个使用体验平顺。

阿里保障业务连续性的最佳实践

接下来,我们看一下阿里巴巴及阿里云建设稳定性体系的演进过程,以及如何衡量体系建设的收益。

图片

整个稳定性平台的演进与技术架构的演进息息相关,主要分为三个大的阶段。

首先,在淘宝刚刚开始时,技术架构主要还是单体应用。随着业务量的增加,PHP 单体应用被 Java 单体应用所取代。直到 08 年时,Java 单体应用也遇到了业务瓶颈,里面的业务逻辑非常复杂,开发人员非常多,迭代效率非常低。此后,阿里巴巴开始尝试分布式的应用架构拆分并在阿里云出现后,逐渐将核心电商交易系统迁移上云,以应对规模愈发庞大的业务。2018 年,阿里巴巴基本所有业务都跑在云上,并开始尝试容器化、Serverless 化等云原生化的探索。

与此同时,随着技术架构的演进,阿里巴巴围绕故障容错、异地多活容灾、容量规划进行稳定性的建设。通过引入调用链路分析平台、故障演练能力、压测体系等技术手段来提升稳定性,并将 ChaosBlade 等项目进行了开源,并进入 CNCF Sandbox。

图片

与此同时,在支持内外部实施拨压测的过程中,我们发现测试角色的职责权限在 DevOps 环形图中向右移。越来越多测试团队不止负责上线前的功能测试、性能测试,也就是 Test 阶段。在功能上线后,还要通过拨测主动监控站点,线上业务可用性,也就是 Monitor 阶段。也是基于上述趋势与需求,云原生可观测团队提出拨压一体的概念,以帮助运维与测试团队更好的进行稳定性建设,这对于团队的收益非常明晰:

  • 提升业务稳定性: 压测验证系统吞吐量,保证容量稳定性,拨测实时监控线上业务可用性,比业务方提前发现问题,缩小爆炸半径。
  • 组织提效: 测试团队统一负责拨压测,梳理业务测试脚本工作不再需要测试、运维团队做 2 遍;运维团队专注资源监控,线上业务监控交给测试团队。
  • 工具提效: 拨测压测共用一个平台,一套脚本语法,一组测试数据,提升工程师幸福感。

具体到业务收益,如故障数的减少、故障恢复时间缩短、提高无故障时间和失效间隔以及减少了故障处理的人力投入等。

拨压测一体化是什么

业务流量往往有峰谷效应,高峰期的业务中断可以通过服务端应用监控和告警及时感知,但在业务流量低谷期,如何感知业务中断成为难题。如果参照业务高峰期监控指标配置告警阈值,流量低谷期就不会触发到告警,无法感知到业务中断,如果告警阈值配置过低,在业务高峰期又会收到大量误告警。针对上述问题以及前文提到的右移,拨测、压测被有机的结合到一起。

(1)什么是拨测

拨测试一种零侵入、开箱即用、主动式服务的可用性和性能监控工具,它通过部署在全球的监测点,模拟真实用户的业务行为,定时对站点发起测试,持续监测业务连续型和网络性能,并衡量用户体验。作为主动式监控服务,不受业务峰谷期的影响,全周期守护业务连续型。云拨测的核心能力和应用场景如图:

图片

(2)什么是压测

压测是容量规划中不可缺少的工具,相信大家也非常熟悉了,根据验证的场景不同,压测又可以分为以下几种测试类型:

图片

(3)拨压测一体化平台

可以看出,拨测和压测都是通过模拟真实用户的行为,来对系统的容量、可用性、性能做测试,从业务场景和系统架构的角度来看,拨测平台和压测平台有高度的相似性。因此,我们把拨测压测平台整合为拨压测一体化的平台,统一管控脚本、调度任务和流量。

图片

压测前需要准备业务脚本,其实拨测也是需要这么一套脚本的。当拨测和压测分为两个平台的时候,同一套业务流程,需要使用两个平台的语法,配置两遍。通过拨压测一体化脚本,其实可以把这个配置脚本的工作减半,一套脚本,既能发起拨测,也能发起压测。

图片

拨压测一体最佳实践

阿里云网站测速平台支持对 PING、TCP、DNS、网站测速、HTTP 接口、文件下载等场景进行拨测,并支持对 HTTP 接口进行压测。您还可以通过阿里云网站测速平台发起对比拨测,了解两个网站之间的性能差异。下面介绍如何通过阿里云网站测速平台,验证站点可用性和接口性能。

(1)发起网站测速任务

此处以模拟电信、移动和联通运营商在全国 34 个省会城市对阿里云官网访问为例,演示如何使用阿里云网站测速平台对网站进行测速。

  1. 登录阿里云网站测速平台 [ 1]

  2. 选择拨测类型。此处选择网站测速

  3. 单击拨测类型下方的下拉框,选择监测点。此处选择运营商为电信、移动和联通,选择地区为全国 34 个省会城市

  4. 在下拉框右侧输入需要进行拨测的 Web 应用地址。例如:www.aliyun.com

  5. 单击立即发起

图片

  1. 在拨测结果区域查看网站的可用性、首包用时、首屏用时、完全加载用时等指标,以及各监测点详细数据列表。

图片

  1. 单击详细数据列表对应监测点右侧的详情,可以查看对应监测点的详细性能指标和页面元素。

性能指标

图片

页面元素

图片

(2)发起对比拨测

您还可以通过阿里云网站测速平台发起对比拨测,了解两个网站之间的性能差异。

此处以模拟电信、移动和联通运营商在全国 34 个省会城市对阿里云和其他云厂商访问为例,演示如何使用阿里云网站测速平台对比两个网站的性能。

  1. 登录阿里云网站测速平台。

  2. 选择拨测类型。此处选择网站测速

  3. 单击拨测类型下方的下拉框,选择监测点。此处选择运营商为电信、移动和联通,选择地区为全国 34 个省会城市

  4. 单击对比拨测,然后输入需要进行对比拨测的 Web 应用地址。例如:www.aliyun.com www.XXcloud.com

  5. 单击立即发起

  6. 在拨测结果区域查看两个网站的可用性、首包用时、首屏用时、完全加载用时等指标,以及各监测点详细数据列表。

图片

  1. 单击详细数据列表对应监测点右侧的详情,可以查看对应监测点的详细性能指标和页面元素。

(3)发起性能测试

  1. 登录阿里云网站测速平台。

  2. 选择性能压测。

  3. 输入需要进行压测的 Web 应用地址。例如:www.example.com/api/test
    注意:请确保您对此 url 有压测权限,对于您没有权限的 URL 进行压测导致的一切法律后果将由您自行承担。

  4. 查看压测中接口的性能指标

图片

图片

最新活动&免费试用

性能测试 PTS 实践训练营火热进行中!

参与训练营领取 5000 VUM 免费额度,快速上手使用性能测试 PTS,模拟真实用户对业务系统发起大流量高并发压测,验证云产品规格选型,定位应用服务性能瓶颈。

立即参与:https://developer.aliyun.com/trainingcamp/f8400b45d23c4bdf86af0c9d6711de7b

免费试用

云拨测每月提供 3000 次免费拨测,点击链接,立即领取免费额度,实时掌握网站性能,快速发起网站测速。

https://free.aliyun.com/?product=9760242,9602838&spm=5176.28055625.J_5831864660.9.1649154aJ7iiyZ

相关链接:

[1] 阿里云网站测速平台

https://cesu.pts.aliyun.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1085953.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

并发编程的三大特性

重要通知: 本人获得了一个运维的上市公司offer,问了一下就业的老师,都推荐能去就去,因为当下的环境,我这种专业需要985211学历才比较好找,所以我要去实习了(今年挺多是实习完才给签三方&#x…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS进阶(四)完结撒花✿✿ヽ(°▽°)ノ✿

思维导图 高阶技巧 1. 深浅拷贝 1.1 浅拷贝 1.2 深拷贝 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewpor…

【ArcGIS】NDVI估算植被覆盖度FVC

NDVI计算 植被覆盖度计算 Step1&#xff1a;调出栅格计算器工具 1、首先打开软件&#xff0c;然后在操作页面点击&#xff0c;自定义工具栏中——自定义模式。 2、再点击窗口中的命令选项。 3、在窗口右上角处搜索“栅格计算”。 4、然后&#xff0c;直接将栅格计算器直接…

大数据学习(7)-hive文件格式总结

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博>主哦&#x…

黄金票据与白银票据

文章目录 黄金票据与白银票据1. 背景2. 具体实现2.1 Kerberos协议认证流程 3. 黄金票据3.1 条件3.2 适用场景3.3 利用方式 4. 白银票据4.1 条件4.2 适用场景4.3 利用方式 5. 金票和银票的区别5.1 获取的权限不同5.2 认证流程不同5.3 加密方式不同 6. 经典面试题6.1 什么是黄金票…

redis在linux系统的安装与使用

一、单机安装Redis。 1.安装redis依赖 在控制台输入 yum install -y gcc tcl2.上传安装包 下载好的安装包上传到/usr/local/src/ 上传方法&#xff1a; 1.确保你拥有Linux服务器的IP地址、用户名和密码。 2.在Windows上&#xff0c;打开命令提示符&#xff08;Command Promp…

Android组件通信——ActivityGroup(二十五)

1. ActivityGroup 1.1 知识点 &#xff08;1&#xff09;了解ActivityGroup的作用&#xff1b; &#xff08;2&#xff09;使用ActivityGroup进行复杂标签菜单的实现&#xff1b; &#xff08;3&#xff09;使用PopupWindow组件实现弹出菜单组件开发&#xff1b; 1.2 具体…

17其他内置方法——信息格式化操作

其他内置方法信息格式化操作有两个&#xff0c;一个是__str__,一个是__repr__ 目录 1、__str__ ​编辑 触发方式有两种&#xff0c;一种是通过print&#xff08;p&#xff09;还有一种是打印str&#xff08;p1&#xff09; 2、__repr__:触发方式也有这两种 一种是直接打印…

Mysql高级——事务(1)

事务基础知识 1. 数据库事务概述 1.1 存储引擎支持情况 SHOW ENGINES 命令来查看当前 MySQL 支持的存储引擎都有哪些&#xff0c;以及这些存储引擎是否支持事务。 能看出在 MySQL 中&#xff0c;只有InnoDB 是支持事务的。 1.2 基本概念 **事务&#xff1a;**一组逻辑操作…

iMazing2023免费版苹果iPhone手机备份应用软件

iMazing是一款功能强大的苹果手机备份软件&#xff0c;它可通过备份功能将通讯录备份到电脑上&#xff0c;并在电脑端iMazing“通讯录”功能中随时查看和导出联系人信息。它自带Wi-Fi自动备份功能&#xff0c;能够保证通讯录备份数据是一直在动态更新的&#xff0c;防止手机中新…

去图片里面的水印怎么去?三个小妙招分享给你

当我们在网上搜集图片素材时&#xff0c;经常会遇到图片上有平台水印的情况&#xff0c;这是一个令人头疼的情况。这些水印可能会妨碍我们的创作&#xff0c;限制了素材的使用&#xff0c;那么去图片里面的水印怎么去呢&#xff1f;别担心今天我来分享一些非常实用的技巧&#…

Hydra参数

kali的hyda参数 参数&#xff1a; hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns][-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV] server service [OPT] -R 继续从上一次进度接着破解。 -S 采用SSL链接。 -s PORT 可通…

windows10系统-15-markdown编辑器和文本复制工具Textify

1 markdown编辑器 Markdown是一种轻量级标记语言&#xff0c;创始人为约翰格鲁伯。 它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后转换成有效的XHTML&#xff08;或者HTML&#xff09;文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。 1.1 Typo…

Java每日笔试题错题分析(4)

Java每日笔试题错题分析&#xff08;4&#xff09; 一、错题知识点前瞻第1题第2题第3题第4题第5题 二、错题展示及其解析第1题第2题第3题第4题第5题 一、错题知识点前瞻 第1题 String声明变量在jvm中的存储方法 1&#xff0c;字符串在java中存储在字符串常量区中 2&#xff0c…

Unity编辑器从PC平台切换到Android平台下 Addressable 加载模型出现粉红色,类似于材质丢失的问题

Unity编辑器在PC平台下使用Addressable加载打包好的Cube&#xff0c;运行发现能正常显示。 而在切换到Android平台下&#xff0c;使用Addressable时加载AB包&#xff0c;生成Cube对象时&#xff0c;Cube模型呈现粉红色&#xff0c;出现类似材质丢失的问题。如下图所示。 这是…

Dubbo-SPI机制

1、Java的SPI机制 SPI的全称是Service Provider Interface&#xff0c;是JDK内置的动态加载实现扩展点的机制&#xff0c;通过SPI可以动态获取接口的实现类&#xff0c;属于一种设计理念。 系统设计的各个抽象&#xff0c;往往有很多不同的实现方案&#xff0c;在面向的对象的…

EOF() | BOF()相关题目解析

题目 设当前数据库有10条记录(记录未进行任何索引)&#xff0c;在下列3种情况下&#xff0c;当前记录号为1时&#xff1a;EOF()为真时&#xff1b;BOF()为真时&#xff0c;命令RECN()的结果分别是______。 A&#xff0e;1,11,1B&#xff0e;1,10,1C&#xff0e;1,11,0D&#xf…

Verilog功能模块——同步FIFO

前言 FIFO功能模块分两篇文章&#xff0c;本篇为同步FIFO&#xff0c;另一篇为异步FIFO&#xff0c;传送门&#xff1a; Verilog功能模块——异步FIFO-CSDN博客 同步FIFO实现起来是异步FIFO的简化版&#xff0c;所以&#xff0c;本博文不再介绍FIFO实现原理&#xff0c;感兴趣…

2023年中国电子白板市场规模、竞争格局及应用领域市场结构[图]

电子白板作为新型教育手段&#xff0c;如果合理地运用到现代教育活动中&#xff0c;使其自身的重视功能高效发挥出来&#xff0c;就能够极大地提升教育活动开展的顺利程度&#xff0c;加深学生对知识点的理解与把握&#xff0c;充分尊重学生是学习主体的地位&#xff0c;将保障…

【算法优选】 二分查找专题——贰

文章目录 &#x1f60e;前言&#x1f332;[山脉数组的峰顶索引](https://leetcode.cn/problems/peak-index-in-a-mountain-array/)&#x1f6a9;题目描述&#xff1a;&#x1f6a9;算法思路&#x1f6a9;代码实现&#xff1a; &#x1f334;[寻找峰值](https://leetcode.cn/pro…