全链路压测自动化实践

在整个过程中,我们意识到,全链路压测在整个系统稳定性建设中占有核心重要的位置,也是最有效的方案。结合实际业务节假日的频率(基本平均一个月一次),如果能够把它作为稳定性保障的常规手段,我们的系统质量也能够得到很好的保障。同时,为了解决周期常态化压测过程中人力成本高、多个团队重复工作、压测安全不可控,风险高等痛点,我们提出了全链路压测自动化的设想。

通过对压测实施的具体动作做统一的梳理,在压测各个阶段推进标准化和自动化,尽力提升全流程的执行效率,最终达到常态化的目标,如下图1所示:

系统的总体逻辑架构,如图3所示,主要包括链路构建/比对、事件/指标收集、链路治理、压测配置管理、压测验证检查、数据构造、压测计划管理、报告输出等功能模块。通过这些模块,为全链路压测的整个流程提供支持,尽力降低业务部门使用全链路压测的门槛和成本。

链路构建/比对:负责服务接口方法调用链路的构建、更新、存储。

链路治理:基于构建的链路关系,提供链路中核心依赖、出口Mock接口等标注、上下游分析、展示,以及出口Mock的配置等功能。

压测验证检查:确保系统可压测,通过多种校验手段和机制设计,来保证压测的安全性。

数据构造:为不同业务压测实施准备基础和流量数据。

压测计划管理:设定压测执行计划,并依赖“压测控制”模块,自动调度整个压测执行过程。

故障诊断:依据收集的关键业务/服务指标、报警等信息,判断分析服务是否异常,以及是否终止压测。

置信度评估:从数据覆盖、链路覆盖、技术指标等维度评估压测结果的置信度,即与真实流量情况下各评估维度的相似性。

非功能性需求说明:

约束说明:

以下对部分关键模块设计做详细介绍。

链路治理模块是基于链路构建模块实现的。链路构建模块,底层是以闭包表的方式存储两个维度(服务和接口)的链路关系的,会周期自动地构建或更新。

链路治理模块主要提供链路入口选取、链路标注、服务出口分析、出口Mock配置等功能。如图4所示,注册压测的服务构成了压测服务的范围,也就确定了各个链路的边界。通过系统自动构建的树结构方式的链路关系,可以辅助压测方对整个链路的梳理,它解决了以往链路梳理靠翻代码等低效手段,缺少全链路视角无法做到完备梳理等问题。

同时,针对整个压测范围,依赖接口可以做人工标注。哪些需要Mock,哪些不需要Mock,如此压测特有的链路信息能够得到持续的维护。

对于需要Mock的外部接口(如图4中的接口C),待压测系统通过引入专有SDK的方式,获得出口配置化Mock的能力。如图5所示,这里使用了美团酒旅Mock平台的基础能力,采用JVM-Sandbox作为AOP工具,对配置的需要Mock的外部接口做动态能力增强。在接口调用时,判断是否是压测流量,是的话走Mock逻辑,做模拟时延处理,返回提前配置的响应数据。这样的话,第一,简化了出口Mock的操作,业务代码里Mock逻辑0侵入;第二,把之前本地Mock与借助Mockserver的两种解决方案用一种方案替代,便于统一管理;第三,在实际压测时,平台还可以通过SDK收集Mock逻辑执行的数据,自动与后台标注的Mock数据对比,来确保应该被Mock的出口确实被Mock掉。

数据构造模块是为了解决不同业务对于基础数据和流量数据的差异化构造流程。提出了两个关键的概念:数据构造逻辑和数据构造流程。数据构造逻辑,是数据构造的细粒度可复用的基本单元,由一段Java代码表示。平台提供统一抽象的数据构造接口,基于Java动态编译技术,开发了一个Java版的脚本引擎,支持构造逻辑的在线编辑与更新。同时,基于美团RPC中间件泛化调用能力,构建了泛化调用工具,帮助用户把外部基础数据构造接口的调用集成到一个数据构造逻辑中。

通过这样的设计,能够支持任意数据构造逻辑,通用灵活。同时集成了Quake已有的流量录制功能,一键执行数据构造流程,大大地提升了效率。

从这些条件出发,就可以得到下面这些静态的校验项:

除了明确静态和动态两类压测校验规则,在具体流程安排上,在压测时和平日两个时期执行这些规则。既能把压测校验的压力分散到平时,也能尽快地发现服务因代码迭代引入的新风险。

在压测时,通过强制前置预压测的流程设计以及静态/动态压测校验项的自动执行,保障安全这个事情。校验不通过,给出告警,甚至在允许的情况下直接终止设定的压测计划。

在平日,通过执行周期性小流量压测校验,在施压过程中对QPS做个位数的精细控制,以尽量小的代价快速发现压测范围内压测安全性的退化。

压测计划管理模块,提供压测计划的提前设定,然后模块能够自动调度和控制整个施压过程。如图11所示,这里的压测计划是多个压测场景的组合,包含QPS的增长计划等信息,主要分为预压测和正式压测两个阶段。压测计划的自动实施,能够解决尤其多场景组合压测,操作耗时多、多场景压测QPS无法同步变更、压测方无法兼顾操作和观测等问题,提升了效率。同时,在压测计划执行状态机里,预压测正常执行完成,状态才能迁移到正式压测的开始状态,提高了压测安全性。

THE END
1.快速资讯:短信测压在线使用介绍短信测压免费短信测压,是一种通过模拟大量短信发送请求,对目标手机或短信服务平台进行压力测试的技术手段。它主要用于检测目标系统在高并发短信流量冲击下的性能表现、稳定性以及承载能力,以便及时发现潜在问题并进行优化和改进。以下是关于短信测压的详细使用介绍: 推荐一个可供使用的短信测压网站(点击蓝色文字跳转) https://www.jianshu.com/p/dda87f4476c0
2.DDoS压力测试平台,网络防御能力评估与优化关键工具摘要:DDoS压力在线测试平台是评估和优化网络防御能力的关键工具。该平台能够模拟各种DDoS攻击场景,对目标网络进行压力测试,以检测其抵御大规模网络攻击的能力。通过该平台,企业和组织可以实时了解自身网络的防御状况,发http://m.takedata.cn/post/9629.html
3.使用ApacheJMeter计划负载测试在本部分中,你将探索负载测试并了解如何将负载测试添加到管道。 负载测试使用 Apache JMeter 来模拟同时访问 Web 应用的多个用户。 测试在过渡环境中从运行在 Azure 应用服务上的应用提取 Web 内容。 Tim 首先在便携式计算机上打开 Apache JMeter 用户界面。 他运行一个基本测试计划。 然后,Tim 和 Mara 将测试计划https://docs.microsoft.com/zh-cn/learn/modules/run-non-functional-tests-azure-pipelines/4-plan-load-tests
4.北京奇艺世纪科技申请压测相关专利,得到更符合实际应用嘲的压测结金融界2024年12月5日消息,国家知识产权局信息显示,北京奇艺世纪科技有限公司申请一项名为“一种压测请求生成方法、压测方法、装置及电子设备”的专利,公开号 CN 119071181 A,申请日期为 2024 年 8 月。 专利摘要显示,本发明实施例提供了一种压测请求生成方法、压测方法、装置及电子设备,涉及全链路压测技术领域。压测https://www.163.com/dy/article/JILNDPJM0519QIKK.html
5.在线压测腾讯云开发者社区压测工具部署:Elasticsearch压测工具esrally部署指南 - 云+社区本文另有延伸:大数据生态关于压力测试的内容 - 云+社区 背景在大数据时代的今天,业务量越来越大,每天动辄都会产生上百track: 即赛道的意思,这里指压测用到的样本数据和压测策略,使用 esrally list https://cloud.tencent.com/developer/information/%E5%9C%A8%E7%BA%BF%E5%8E%8B%E6%B5%8B
6.在线压测工具在线调试华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:在线压测工具。https://support.huaweicloud.com/topic/493144-3-Z
7.jmeter在线压测怎么实现问答要在JMeter中实现在线压测,可以通过以下步骤进行操作:1. 准备JMeter环境:首先需要下载并安装JMeter软件,然后打开JMeter界面。2. 创建测试计划:在JMeter中创建一个https://www.yisu.com/ask/7988589.html
8.中国人寿业务稳定性保障:“1+1+N”落地生产全链路压测针对以上问题,中国人寿寿险研发中心在稳定性保障上做了较多落地实践,在稳定性测试层面,整体思路是在能力层建设 4 种能力——无侵入在线压测能力、混沌工程故障演练能力、自动化测试能力、数字化测试管理能力,来实现保稳定、提质效、优效能的目标。 而其中,保证生产部门稳定是重中之重,无侵入在线压测作为赋能生产部门最https://xie.infoq.cn/article/5c3970161430badd9e3718b9a
9.在线教育压测示例性能测试(PTS)本文以在线教育的典型业务场景为例,为您介绍如何在PTS中编排压测场景并发起压测。 背景信息 要发起一次性能压测,首先需要创建一个压测场景。压测场景中包含一个或多个并行的业务,每个业务包含一个或多个串行的请求。 场景说明 某在线教育网站需要压测选课相关网页。根据业务逻辑,选课流程划分为三步,每一步的压测需求https://help.aliyun.com/zh/pts/use-cases/stress-test-example-for-online-education
10.在线短信压测,惩戒骗子必备在线短信压测,惩戒骗子必备 在线地址:https://www.ceya001.cn/https://www.xc6b.com/qqjs/11440.html
11.GitHub本项目基于renren-fast Java开发平台开发,内核基于Jmeter-Api和Jmeter脚本实现在线性能压测。 插播广告: 如果有需要,请帮忙支持一下:https://www.jianshu.com/p/cd6388627f64 互帮互助,感谢。 平台特点 友好的代码结构及注释,便于阅读及二次开发 实现前后端分离,通过token进行数据交互,前端再也不用关注后端技术 灵https://github.com/dxcui/stressTestPlatform
12.java短信压测平台在线短信压测试java短信压测平台 在线短信压测试 压测时间:正式上线两个月 测试环境:正式环境 测试条件:测试时间选在平台使用时间段较少的时候,通过观察数据库一段时间内数据的增长情况确定在周六的晚上。 数据量:目前数据库有51个部门、62个管理员、短信发送总量约4.5W条,单个用户最大发送量已达2W条数据。前提:用户体验反馈查询https://blog.51cto.com/u_16213686/9350585
13.美团线上性能压测.pdf美团线上性能压测.pdf 32页VIP内容提供方:159***6958 大小:4.59 MB 字数:约1.55万字 发布时间:2022-08-01发布于安徽 浏览人气:88 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币 (10金币=人民币1元)美团线上性能压测.pdf 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文https://m.book118.com/html/2022/0727/5212301103004313.shtm
14.DDOS平台免费平台DDOScc攻击压力测试DDOS在线测试91影视网(www.91o.cc)打造你最喜爱的电视剧,电影大全,最新综艺,日韩剧泰剧,欧美剧,电影院视频高速在线观看,免费在线观看,内容丰富,是广大观影爱好者闲暇时间看片追剧的不二选择! 收藏 AA影视-全球高清免费影视在线观看欢迎您AA4.CC AA影视(www.aa4.cc)是一家专业的电影资源网站,我们致力于为用户提供高质量的电https://www.bidianer.com/site/356787
15.web压测高并发接口测试工具综上所述,JMeter是一款功能全面的测试工具,不仅支持接口测试,还能进行性能压测,对于开发者和测试人员来说,它是评估和优化系统性能不可或缺的工具。通过熟练掌握JMeter的使用,可以有效地发现和解决可能影响系统 JMeter 之TCP服务器并发压力测试 浏览:90 3星 · 编辑精心推荐 综上所述,JMeter是一款功能强大、灵活https://download.csdn.net/download/xiaoboaccp3/11527367
16.网站压力测试工具【压测宝】是网站压力测试和APP压力测试必备软件工具,采用基于真实业务场景与用户行为的云端压力测试技术,提供防火墙压测、基于云计算压测、用户视角的外部全链路压测服务平台。http://www.yacebao.com/
17.网站高并发业务系统压力测试在线用户数QPS并发测试上班时间:7x24小时在线 邮箱:support@cldera.com 平台优选认证 交易资金担保 全程服务监管 退款售后无忧 进店铺逛逛 商品详情 商品亮点 使用指南 售后服务 产品优势 构建足够简单: 原生交互0编码及云端录制支持复杂场景,同样支持开源JMeter脚本进行原生引擎压测 发现更多问题: 压测流量从https://developer.huawei.com/consumer/cn/market/prod-detail?productId=7f0c973c0b2f417999337825fd908d5b&shopId=2db19a76c8824b2d9992a5538983a128
18.网站压力测试工具【压测宝】是网站压力测试和APP压力测试的软件工具,采用基于真实业务场景与用户行为的云端压力测试技术,提供防火墙压测、基于云计算压测、用户视角的外部全链路压测服务平台.https://www.cloudwise.com/page/testing.html
19.在线接口压力测试工具(接口压力测试方法)在线接口压力测试工具我们通常要分析的性能数据像TPS,在线人数,事务数,网络吞吐,CPU,内存,磁盘IO等性能报告里都有。报告是可视化的图表形式展现的。 亦可以自己编写机器人,深度结合自身业务场景进行压测。 其在线接口压力测试工具他简单的协议测试或是稳定性测试,也可满足。 https://www.eolink.com/news/post/61885.html
20.云性能测试Jmeter替代全链路压测平台国产自研性能测试工具,全面支持信创环境,在AI自动化、混合云、多协议和跨平台支持等多项关键技术方面取得了重大突破。借助XRunner可进行全链路压测,云网一体化实时的性能数据捕获和呈现 具备功能丰富的服务器监控功能,能够监测系统各层面的每一部件的性能,记录整个系统所有性能数据。 在线免费预约服务https://aidynamic.com/home/product/4
21.DGIOTdgiot云测平台,面向物联网各种垂直领域的全业务云端检测平台,内部集成可视化任务模块、压测指标分析模块、自动压测报告模块等。 支持物联网企业在线创建各种业务场景任务、性能执行脚本、实时监控任务执行过程中性能指标,并自动输出专业的全业务测试评估报告。 https://doc.dgiotcloud.cn/docs/user_manual/docs/pressure_test/pressure_test_ins/
22.红尘压测系统ddos平台ddos网页端网站压力测试DDOS压测平台业界服务最好的平台,365天6小时人工客服在线,提供1对1售后服务! 用户套餐 平台每个会员套餐都经过多方测试而设定,普遍适应绝大多数用户的需求。 加入须知 支援人工客服线上加入开通。 平台维护 平台预设每日进行一次例行维护,维护时间多数为凌晨4-5点,维护期间使用故障属正常状况,请各位使用者耐心等待即可https://www.84ddos.com/
23.在线压力测试,测试网站并发量xiaoshen666最近都在折腾这个站点,发现有时内存挺高的,本身使用的就是廉价小内存VPS,所以比较担心站点的稳定性,对运维压测也不是特别熟悉,所以找了两个在线的压力测试网站,小试一下,下面介绍给大家,比较适合小型网站。 一、webkaka http://yali.webkaka.com/ 是国内的一个站点,可以免费压力测试。主要分“压力测试”和“负https://www.cnblogs.com/xiaoshen666/p/10842588.html
24.腾讯优测电商新零售压力测试解决方案全链路压测压力测试平台腾讯优测电商新零售压力测试解决方案在梳理业务流程时可以遵循这三点来梳理:核心业务、高频业务、基础业务。压测方案的制定需要结合系统架构和业务特点。比如抽奖抢券秒杀场景,就需要采用并发测试以及超卖验证等测试策略。我们还需要进行单接的基准测试以及单机混合场景容https://www.yun88.com/product/6096.html