独家揭秘阿里怎么做双11全链路压测?

丰富的线上&线下活动,深入探索云世界

做任务,得社区积分和周边

最真实的开发者用云体验

让每位学生受益于普惠算力

让创作激发创新

资深技术专家手把手带教

遇见技术追梦人

技术交流,直击现场

海量开发者使用工具、手册,免费下载

极速、全面、稳定、安全的开源镜像

开发手册、白皮书、案例集等实战精华

为开发者定制的Chrome浏览器插件

关于性能测试的重要性及必要性已经是个老生常谈的问题了,现分别从技术角度和业务战略角度总结如下:

而性能测试的目的也就是为了解决大型营销活动中洪峰流量引起的系统表现不确定性,一个理想的营销活动周期应该是有如下闭环流程:

可以看出,性能测试通过真实、高效的压测方式进行容量评估/瓶颈定位&解决,最终来保障活动稳定进行;每一个环节的内容都非常重要,以阿里双11活动为例,我们除了技术上的准备、执行、保障之外,还会有一些流程及分工细节。以下将逐一介绍。

阿里巴巴全链路压测从2013年到现在也已经是第7个年头了,在这7年中间我们不断的积累、总结、优化进步,从开始的200多人参与、通宵压测的大规模全员项目活动到后来仅仅几个人白天压测、更智能化的压测方式,这样一种大规模的项目活动,离不开有效的流程把控及分工管理。

阿里巴巴在多年双十一大促保障——全链路压测项目中,有着严格的流程把控及分工管理模式与经验,总结如下:

好的流程规划与管理,可以大大提升团队协作效率。叠加上工具平台的智能化功能,可以将参与的200人力通宵压测缩减至10人以内白天压测,有效的方案+充足的准备+靠谱的平台技术产品=成功的压测。

数据准备的同时,需要考虑压测环境(即压测对象的部署环境)是哪里,不同环境就需要做不同的准备。

整个阿里经济体的压测环境,包括双十一压测,全部选择的是线上环境,此时需要评估如果要进行全链路压测,是否直接可以使用现有环境、同一个API多次压测是否会被拦截、是否会有脏数据影响、如果有影响应该如何改造避免等。以上这些问题总结下来即为两类问题:业务问题和数据传递问题。问题比较明确,我们就根据这两类问题来做逐一的改造。

改造分为2方面:业务改造和中间件改造,这些在内部全链路压测1.0时代就已经完成了,对于外部客户来说,可以作为一个技术改造上的参考点。同时我们已经有成熟的产品化方案提供一站式的能力,免去复杂的改造和维护成本。

业务改造

业务改造即为了解决压测过程中的业务异常问题,或者压测请求无法正常被执行的问题。举例如下:

业务改造涉及的内容无法一一穷举,需要根据不同的业务模型、业务架构及配置,一一梳理。一般梳理改造之后,后续所有新应用都按照规范去开发,每年的压测前进行基础的查漏补缺即可。

中间件改造

中间件作为衔接业务应用之间的组件,在压测中有个至关重要的功能就是将流量标识传递下去,一直到最终的数据库层面。虽然我们在13年开始,从核心应用使用到的中间件已经升级改造完成,中间我们踩过不少坑,诸如改造全面性、改造带来的业务代码修改成本、版本兼容问题等。

改造完成之后,压测流量的模型图可以参考如下:

环境的改造,需要结合业务场景具体分析、设计。云上高可用解决方案,提供了全链路压测解决方案的服务。

大促活动确定之后,会对业务模型进行一次评审,即确定该业务模式对应的技术架构应用有哪些,需要做压测的业务范围有哪些、以及数据量级、数据形式是什么样的。所以数据准备包括准备业务模型数据和压测流量数据两部分。数据的准备,主要分为两部分:业务模型的建立和基础数据的构造。

业务模型数据

最终会将两种业务场景类型进行组合,形成最终的终态业务模型。以下图作为示例:

在组装业务模型数据的时候,需要注意一些关键因素,比如修改具体的电商业务模型关键因素:

业务模型组装之后,单一事务中的业务模型,应该是一个漏斗状的。而每层之间的漏斗比例,是根据不同的层级、不同的玩法、不同的规则会有不一样的比例关系。在一次大促活动中,这个比例关系理论上是不会变化的。漏斗模型参考如下:

业务模型在压测时对应的就是压测量级,淘宝大促用的全部都是RPS模式压测,即从服务端角度出发每个API之间是漏斗比例关系、能够很好地应用于容量规划上。商业化产品PTS(性能测试服务,PerformanceTestingService)中也很好的支持了RPS模式。

压测基础数据

流量数据中,有一部分为上述业务模型对应具体RPS值,模型体现的是比例关系,而流量数据即有每次压测具体的RPS值。

流量数据中最重要的部分,即为真实的压测数据,我们可以称之为基础数据,比如交易的买家、卖家、商品数据等。全链路压测的目的是为了模拟双11,所以模拟的真实性非常重要,基础数据的真实性就是至关重要的一环。全链路压测会以线上数据作为数据源,经过采样、过滤、脱敏等操作,形成可作为压测使用的数据。

线上数据拿出来使用的时候,特别涉及到写数据的时候,避免造成脏数据,我们落地或者读取的时候,采用影子表的形式。当识别到压测流量,则读写影子表,否则就读写线上正式表。影子表的产生为的是压测流量安全。

淘宝内部系统使用的压测体系,数据平台和压测平台是两套平台。数据平台管理/提供压测数据(包括模型数据和流量数据),压测平台提供施压能力,即保证压测请求能够以指定的“协议”、指定的量级速率、从全国各地发送出来。商业化产品PTS(性能测试服务,PerformanceTestingService)中提供的数据工厂能力,很好的将内部的数据平台和压测平台结合起来,产出为统一的一个压测系统,只需用户构造好压测数据以文件/自定义的形式定义好参数,在使用处配置即可。

流量安全策略主要是为了保证能够正常的施压流量且数据不错乱,安全地、符合预期地进行。这里面就包括了两层考虑:

测试数据和正常数据的严格隔离,即非法流量的监控和保护机制;

压测流量的安全过滤,即不被识别为攻击流量;

此处,涉及到第三方的系统,诸如支付宝、短信等服务,因业务特殊性需要做压测系统的打通。13年淘宝实现了第一次全链路压测,但是未能打通下游业务链路。在14年双十一压测前,和支付宝、物流环节等打通了全面的压测系统。对于外部客户来说,支付宝、短信等都有对应的挡板服务可提供,用来供用户做全链路压测时使用。

说明:此处未介绍首次改造之后的单链路压测调试,这部分基本由开发同学自行操作验证,故不在此特殊阐述。

关于系统预热这里说的预热,未包含我们内部提到的预跑。预热是为了该缓存的数据提前缓存好,达到大促缓存态的状态,也更好地实现我们缓存的目的。大促缓存的使用应该利用到极致,故需要通过预热来进行。

对外部客户来说,可以通过先一轮、低量级的全链路压测,来提前预热系统,包括在真正大促活动之前也可这样操作,即提前缓存住需要缓存的数据。

正式压测:一般正式压测会按照压测计划,执行多种压测策略。淘宝的双11大促压测,一般包含这样几步:

1)峰值脉冲:即完全模拟0点大促目标峰值流量,进行大促态压测,观察系统表现。

2)系统摸高:取消限流降级保护功能,抬高当前压测值(前提是当前的目标压测值已经达到,则可以进行摸高测试),观察系统的极限值是多少。可进行多轮提升压力值压测,直到系统出现异常为止。

3)限流降级验证:即验证限流降级保护功能是否正常。(AHAS引入)商业化产品AHAS(应用高可用服务,ApplicationHighAvailabilityService)提供了全面的限流降级能力,可进行全链路的降级保护。

4)破坏性测试:这个主要是为了验证预案的有效性,类似于容灾演练时的预案执行演练。即为持续保持大促态压测,并验证预案的有效性,观察执行预案之后对系统的影响。

对外部客户来说,可以配置不同的压测量级数据,来进行多轮压测,并观察其系统表现。压测不应该是一次性的操作,而应该是反复的、多轮验证的操作。

商业化产品PTS(性能测试服务,PerformanceTestingService)的压测报告,有详细统计数据及趋势图数据,采样日志以及添加了的监控数据。后续PTS还会提供架构监控,帮助性能测试执行同学,更好地从系统架构角度判定压测过程中系统是否正常,大致瓶颈点。

阿里巴巴全链路压测已经进入第7个年头,从开始的摸着石头过河,发展到现在更智能化形态。其中部分功能也会体现在商业化产品中,大家敬请期待。

阿里巴巴将全链路压测进行到第7个年头,中间经历了太多的磨练与积累,随着新技术的出现,我们也将不断的完善自己,做到更好。同时,更希望能将这么多年的经验,能赋能到外部客户,比我们少踩坑、完美的度过每一轮大促活动,并将全链路压测应用到更多的日常场景中。

THE END
1.快速了解:短信测试压力平台短信测压在线平台在当今数字化时代,短信作为一种重要的通信方式,广泛应用于各个领域,包括金融交易验证码发送、企业营销推广、个人信息通知等。为了确保短信能够准确、快速且稳定地送达目标用户,短信测试平台应运而生。它在短信服务的全生命周期中扮演着不可或缺的角色,为企业和开发者提供了全面、高效的测试解决方案。 https://www.jianshu.com/p/39649cc3e209
2.短信测压短信测压平台是一款特别好用的手机性能测试软件,大家可以在这里体验非常优质的辅助工具,只需要输入你的手机号码就可以在这里进行模拟短信的发送,帮助大家节省了很多的时间,随时可以在这里检测自己的手机反应速度,不断的提升大家的性能,在接收到短信的时候会更加顺畅。 软件简介 1.帮助大家进行电话号码测试,能够管理好你https://www.zxiyun.com/12750.html
3.手机短信软件app有哪些免费手机短信软件app下载安装在微信、QQ这些软件出现前,大家最常用的联系方式除了电话就是发短信,很多的小伙伴都有开过短信包月,今天小编给大家推荐几款好用的手机短信软件,这类app是非常强大的短信管理软件,能够完全的替代大家手机上的短信功能,支持用户发送短信、批量处理短信等,还有各种炫酷的界面特效,支持气泡对话框等各种装饰,感兴趣的用户http://www.downcc.com/k/sjdx/
4.MQTT调试器app下载手机MQTT调试器全部平台版本 MQTT调试器安卓手机版1.2.5 大小:22.0MB时间:2024-12-10 下载 更多MQTT调试器安卓历史版本(6个)相关合辑 小提琴调音器app吉他调音器app调游戏倍数的加速器二胡专业调音器钢琴调音器app美的空调软件遥控器app民谣吉他调音器app不用红外线的空调遥控器软件二胡调音器app空调遥控器手机软件https://m.liqucn.com/rj/9109966966090.wml
5.DDoS压力测试平台,网络防御能力评估与优化关键工具摘要:DDoS压力在线测试平台是评估和优化网络防御能力的关键工具。该平台能够模拟各种DDoS攻击场景,对目标网络进行压力测试,以检测其抵御大规模网络攻击的能力。通过该平台,企业和组织可以实时了解自身网络的防御状况,发现潜在的安全风险并进行优化改进,从而提高网络的安全性和稳定性。 http://m.takedata.cn/post/9629.html
6.揭秘!短信测压短信测压平台通信通道短信测压是一种用于测试短信发送性能和稳定性的技术或服务。 以下是关于短信测压及短信测压平台的相关信息: 1.短信测压的原理: 通过模拟大规模的短信发送场景,向目标号码或系统发送大量的短信,以此来测试短信通道的负载能力、响应速度、稳定性等性能指标。例如,测试在短时间内发送大量短信时,短信系统是否能够正常接收https://www.163.com/dy/article/JFL1NGL50556ACZN.html
7.在线短信测压平台腾讯云开发者社区是一种基于云计算技术的服务平台,用于测试短信发送的性能和稳定性。它可以模拟大规模的短信发送场景,通过向目标系统发送大量短信并监测响应时间、成功率等指标,评估目标系统在高负载情况下的性能表现。 在线短https://cloud.tencent.com/developer/information/%E5%9C%A8%E7%BA%BF%E7%9F%AD%E4%BF%A1%E6%B5%8B%E5%8E%8B%E5%B9%B3%E5%8F%B0-salon
8.中国人寿业务稳定性保障:“1+1+N”落地生产全链路压测N 个场景——有了平台和流程后,就可以基于此来支持寿险业务 N 个场景的在线压测,比如长险出单、短险出单、培训学习、APP 登录、重大技改等等。比如信创对系统的改造等重大技改,大家非常乐意通过无侵入在线压测的手段,在生产上验证技改前后性能的变化情况,这也是比较重要的应用场景。 https://xie.infoq.cn/article/5c3970161430badd9e3718b9a
9.手机短信压力测试app创建APP华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:手机短信压力测试app。https://support.huaweicloud.com/topic/1128631-2-S
10.短信压力测试v3.0app手机版下载短信压力测试v3.0是一款可以随时检测手机性能的工具软件,用户可以通过这个平台快速的进行手机性能检测,会通过短信发送的方式查看短信的接收速度,会统计每个用户的短信接收量,检测方式是非常简单的,只需要在平台输入相应的手机号码,就可以快速的发送一些短信。 《短信压力测试v3.0》软件优势: 1.会将所有数据进行统计,并且https://www.juxia.com/sjwy/ruanjian-574948.html
11.短信在线压测平台关于短信在线压测平台 使用F5和Cisco等厂商推出的DDoS解决方案。, DDoS攻击(Distributed Denial of Service)是一种通过同时从多个位置对目标服务器发送高数量的数据包,导致服务器负载过重而无法处理合法用户请求的方式。攻击者使用一个或多个“僵尸网络”(botnet)通过互联网发送大量的请求到特定的目标服务,使其网络出现https://mukrb.lfjmmj.cn/
12.java短信压测平台在线短信压测试java短信压测平台 在线短信压测试 压测时间:正式上线两个月 测试环境:正式环境 测试条件:测试时间选在平台使用时间段较少的时候,通过观察数据库一段时间内数据的增长情况确定在周六的晚上。 数据量:目前数据库有51个部门、62个管理员、短信发送总量约4.5W条,单个用户最大发送量已达2W条数据。前提:用户体验反馈查询https://blog.51cto.com/u_16213686/9350585
13.erp云服务平台本章介绍如何通过控制台-云测服务,创建一个属于您的压测任务。 云测平台是一款具备强大的分布式压测能力的服务平台,可以模拟海量并发的业务场景,协助站点验证教育短信平台遭入侵!如何防止企业短信服务被攻击? 网宿体系化防护方案已就位最近,我们注意到,有地方行政部门和事业单位的短信服务平台接连出现被不法分子利用https://www.wangsu.com/annotation-detail/erp%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%B9%B3%E5%8F%B0
14.Let短信测压开源源码LetSMS全开源下载.ziplet1.4源码资源PHP在线测压平台源码附加1.5W接口.zip 浏览:60 v2.0 1.用户面板增加一次性可以同时4个电话号也可以单独压测一个电话号 2.增加免责声明页面 3.增加可停止(清空)按钮 4.修复公告无法正常显示 开源项目-letsencrypt-boulder.zip 浏览:115 让我们深入探讨一个名为“letsencrypt-boulder.zip”的开源项目,它揭示了Lethttps://download.csdn.net/download/qq785557022/85664979
15.动态权限多租户数据权限工作流三方登录支付短信下面,我们会提供目前用到的中间件的管理平台。 艿艿:考虑到大家可以看到更全的功能,所以一般提供 admin 账号。所以,大家素质使用哟。 [-] xxx-web-app// 提供对外 HTTP API。[-] xxx-service-project ├──[-] xxx-service-api// 提供对内 RPC API 。├──[-] xxx-service-https://portrait.gitee.com/cnetly/yudao-cloud
16.国家医疗保障信息平台凭证为官方平台、第三方渠道提供医保业务个人身份认证能力;5、电子票据中心,对电子票据信息进行统一管理,包含电子票据打印、下载、定期票据信息推送服务等;6、处方流转中心,从核心业务区业务中台获取处方,电子处方信息在线查询、定点机构智能匹配信息、在线下单等功能服务;7、消息中心,提供站内消息、APP提醒、短信、微信https://max.book118.com/html/2020/0312/8101031143002101.shtm
17.GitHub{http,redis..} *4k go get github.com/panjf2000/gnet # 高性能事件驱动非阻塞轻量级网络框架 *2k go get github.com/nuclio/nuclio-sdk-go # 高性能事件微服务和数据处理平台(结合MQ,Kafka,DB)*3k > docker run -p 8070:8070 -v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp quayhttps://github.com/angenalZZZ/Go
18.咕咕宝app官方正版下载1、首先在本站下载咕咕宝app,然后安装并打开。 2、咕咕宝app启动后,在首页可以看到丰富的手机工具。 3、根据自己的需求选择对应的工具,然后点击下载即可使用。 咕咕宝功能介绍 1、包含查询宝、短信压测、便携翻译、QQ工具、在线工具等功能。 2、咕咕宝体积轻巧,界面简洁的工具箱,呈现更多优质靠谱服务。 https://www.doyo.cn/app/447321.html
19.定时发短信平台手机上定时发短信定时发送短信定时任务 页面构造定时任务可选择脚本并根据cron表达式来创建定时任务,以达到定时压测的目的,请参考如下说明进行创建5 通知邮箱 定时执行及高失败告警通知的接收人邮箱,逗号隔开 6 发压配置请参考脚本执行帮助页面的配置说明 7 携手浦发银行构建移动研发平台,显著优化运营效能 金融 金融机构 浦发银行通过引入京东金融云移动https://www.jdcloud.com/cn/content/detail-146921
20.在线短信压测,惩戒骗子必备在线短信压测,惩戒骗子必备 在线地址:https://www.ceya001.cn/https://www.xc6b.com/qqjs/11440.html
21.企业办公软件SaaS软件(系统)服务企业服务XChaos 混沌工程平台主要包括演练计划、流程编排、安全执行、演练观测、演练报告、专家场景库、原子故障库、观测集成、压测集成等功能;支持 Linux/Windows 主机、Docker、Kubernetes 等部署类型 为企业软件项目提供平台化易用、安全、丰富场景的故障演练能力,帮助企业发现分布式应用架构、庞大资源和业务子系统等导致的复杂故障https://36kr.com/project-3/