200多位阿里工程师齐聚“光明顶”,双11模拟演习怎么搞?

时间:2016年10月29日凌晨
地点:阿里巴巴西溪园区“光明顶”
事件:200多人聚在一起,精神抖擞,摩拳擦掌。这阵势,是要去约群架吗?别紧张,他们只是在进行一次双11的模拟演习—全链路压测。

历年的双11备战过程当中,最大的困难在于评估从用户登录到完成购买的整个链条中,核心页面和交易支付的实际承载能力。自2009年第一次双11以来,每年双11的业务规模增长迅速,0点的峰值流量带给我们的不确定性越来越大。

2010年,我们上线了容量规划平台从单个点的维度解决了容量规划的问题,然而在进行单点容量规划的时候,有一个前提条件:下游依赖的服务状态是非常好的。实际情况并非如此,双11 当天0点到来的时候,从CDN到接入层、前端应用、后端服务、缓存、存储、中间件整个链路上都面临着巨大流量,这个时候应用的服务状态除了受自身影响,还会受到依赖环境影响,并且影响面会继续传递到上游,哪怕一个环节出现一点误差,误差在上下游经过几层累积后会造成什么影响谁都无法确定。

所以除了进行事先的容量规划,我们还需要建立起一套验证机制,来验证我们各个环节的准备都是符合预期的。验证的最佳方法就是让事件提前发生,如果我们的系统能够提前经历几次“双11”,容量的不确定性问题也就解决了。全链路压测的诞生解决了容量的确定性问题!

全链路压测1.0从无到有

提前对双11进行模拟听起来就不简单,毕竟双11的规模和复杂性都是空前的,要将双11提前模拟出来,难度可想而知:

1、跟双11相关的业务系统上百个,并且牵涉到整条链路上所有的基础设施和中间件,如何确保压测流量能够通畅无阻,没有死角?

2、压测的数据怎么构造(亿万级的商品和用户),数据模型如何与双11贴近?

3、全链路压测直接在线上的真实环境进行双11模拟,怎么样来保障对线上无影响?

4、双11是一个上亿用户参与的盛大活动,所带来的巨大流量要怎么样制作出来?

来看下我们需要面对的挑战:

以2016年双11前30分钟为例,每秒交易峰值17.5W笔,每秒支付峰值12W笔,相关链路光核心系统上百个,还有庞大的底层基础设施(网络、IDC、硬件、虚拟化、调度、弹性能力等),以及所有的中间件服务、数据库、存储,我们保障双11的需求分层依次是确保没有瓶颈短板、合理规划容量配比降低成本、根据压测模型动态调配容量配比。

但是线下压测(没有参考价值)、单机类型压测+估算模型(无法识别全局瓶颈)、单链路压测(无法识别真实业务场景下多链路冲击下的短板)都显然远远无法满足需求,为了让最真实的情况能够提前预演,我们最终采用了这套模拟全球几亿用户一起购物狂欢的方案-全链路压测平台。而它从2013年到2016年的4个年头里已经发展到3.0版本。

下图是这几年主要完成的工作。

下面就其中一些关键点做下说明:

关于业务改造

涉及业务点100多个,交易链路几十条,相关研发同学几百号人,只要是写相关接口肯定需要改造,压测设计的原则是业务系统的代码尽可能的不做修改、通用的技术通过基础设施和中间件来处理,比如压测流量的标识怎么在整个请求生命周期中一直传递下去、怎么样来对非法的请求做拦截处理。

关于数据构造

数据构造有两个关键点:

1、由于参与双11的买家、卖家、商品数量都非常庞大,需要构造同数量级的庞大业务数据;

2、同时业务数据的模型要尽可能贴近双11当天0点的真实场景;

以上两个关键点必须同时做到,否则全链路压测结果的误差会比较大,参考的价值将会大打折扣。我们为此专门搭建了全链路压测的数据构造平台,构建业务模型,同时完成海量业务数据的自动化准备。

其实关于数据的模型应该是怎么样的问题。我们借助了BI工具结合预测算法对数据进行筛选建模,并结合每一年双11的业务玩法进行修订,产出一份最终的业务模型。业务模型的因子牵涉几百个业务指标,包含买家数、买家类型、卖家数、卖家类型、优惠种类、优惠比例、购物车商品数、bc比例、无线pc比例,业务的量级等等。

关于数据隔离

比如直接把测试数据和正常数据写到一起,通过特殊的标识能够区分开,出于对线上的数据的安全性和完整性不能被破坏的考量,这个方案很快就被放弃了。然后有人提出了另一个方案,在所有写数据的地方做mock,并不真的写进去,这个方案不会对线上产生污染,但也还是放弃了:mock对压测结果的准确性会产生干扰,而我们需要一个最贴近实际行为的压测结果。

经过反复的讨论,最终找到了一个既不污染线上、又能保障压测结果准确性的方案:所有写数据的地方对压测流量进行识别,判断一旦是压测流量的写,就写到隔离的位置,包括存储、缓存、搜索引擎等等。

关于流量构造

双11当天0点的峰值流量是平时高峰的几百倍,每秒钟几百万次的请求如何构造同样成了压测的大难题。浏览器引擎或者一些开源压测工具来模拟用户请求的做法经过实际测试,要制作出双11规模的用户流量需要准备几十万台服务器的规模,成本是无法接受的,并且在集群控制、请求定制上存在不少限制。既然没有现成的工具可以使用,只好选择自己研发一套全链路压测的流量平台。

而随着集团业务需求越来越多,急需将全链路压测朝着平台化推进和实施,做到压测能力开放、业务方自主压测,让更多业务方能够享受到全链路压测的优势和便利。平台化上线之后大幅提升了全链路压测平台的服务能力,比如2015年大促备战的3个月内,压测平台总共受理近600多个压测需求(比14年提升20倍),执行压测任务3000多次(比14年提升30倍),最重要的,这也为阿里云即将推出的性能测试PTS铂金版做了很好的基础建设。

生态化

2016年在三地五单元混合云部署架构下,电商一半以上的资源都部署在云上。如何能够在最短的时间内完成一个单元的搭建和容量准备成为摆在我们面前的一道难题。“大促容量弹性交付产品”在年初的时候立项,旨在减少甚至释放活动场景的容量交付中人工投入,将大促容量交付的运维能力沉淀到系统中,使全链路容量具备“自动化”调整的能力。

我们又提出了大促自动化备战的想法,将大促容量准备的各环节进行系统层面的打通,从业务因子埋点、监控体系、模型预测、压测数据构造、压测流量发送、压测结果分析、压测报表进行自动化的串联,大幅缩减了我们在大促容量准备阶段的人员投入和时间周期。围绕全链路压测的核心基础设施,全链路压测的周边生态逐步建立起来,打通建站、容量、监控等配套技术体系。

阿里云发布T级数据压测的终极秘笈

阿里云的压测解决方案-性能测试服务 PTS 就脱胎于阿里巴巴的双11保障的核武器。在经过超高峰值、超高复杂度的千锤百炼后,性能测试 PTS(铂金版)正式对外输出,让广大企业级用户能用最低的投入,享受阿里双11保障级的性能测试服务。

PTS铂金版目前已经将异常强大的流量构造能力和简易友好的数据输入方式提供出来。阿里云希望帮助企业腾出更多时间和成本去关注业务,而不再需要投入大量资源去研究压测的引擎、改造并让它适应业务特性,也不需要搭建庞大的压测集群以支持业务的高并发度,甚至不需要专门的性能测试人员或者具备相当的测试专业知识的人员,以上这些会让企业投入大量的人力成本、机器成本,性价比较低。PTS铂金版提供了简洁、高效、优质和高性价比的方案,它的优势和特点是:

1、无限接近真实的流量:覆盖到三四线城市的节点能真正模拟高并发和发起点分散的用户行为,端到端之间的网络瓶颈也能暴露无遗;

2、超高并发能力:低成本构造千万TPS级的压测流量,多协议支持(HTTP、HTTPS、TCP、UDP 等);

3、压测能力多维度动态支持:同时支持并发和TPS两个维度设置,免除设置和换算的烦恼,压测目标设置一步到位。压测过程中还可以根据各种情况任意调整并发/TPS,灵活应对压测场景下的多变环境;

4、使用零门槛:完全面向开发的交互设计,开发自测试,贴心的提供快捷压测功能,1分钟即可设置一个简单压测场景,快速熟悉产品功能;

5、复杂场景轻松应对:即使是电商交易类复杂场景,依旧可以方便的通过脚本拼装,完全模拟用户真实行为;

6、丰富的展现形式:压测过程中重要指标实时展现,配合阿里云互联网中间件的业务实时监控ARMS、分布式应用服务EDAS,可提供更全面、细致的性能指标,快速识别性能瓶颈。

来源:阿里技术
原文链接

时间: 2024-09-19 01:14:23

200多位阿里工程师齐聚“光明顶”,双11模拟演习怎么搞?的相关文章

16位“袖珍人”齐聚长春

很多袖珍群友都是初次见面 http://www.aliyun.com/zixun/aggregation/79250.html">本报记者 张英男 摄 本报讯(记者 田玲玲) 昨日18时30分,来自我省各地和辽宁丹东的16位"袖珍人"齐聚长春,他们都是来自一个群体吉林省袖珍人联谊群. 本报曾报道过悉心照顾瘫痪父母23年,身高1.2米的孝子段海涛:从长春中医药大学针灸推拿系毕业在残联工作,身高1.3米的尹锐:通过本报征婚,身高1.2米的腼腆男子孙文宇:南关区北安社区小品舞

阿里云引爆程序员双11上万中小企业上云

本文讲的是阿里云引爆程序员双11上万中小企业上云12月18日,阿里巴巴集团旗下阿里云计算,再次引爆一场属于程序员的双11狂欢.截至当天上午,已有上万家中小企业涌入阿里云官网进行云服务器采购,相比传统方式节省上千万元的IT成本. 刚过零点,开发者童星升就秒杀到一台12块1毛八的云服务器,准备做个小博客和论坛.这样的云服务器若用于搭建网站,足以支撑每天约5-10万人的顺畅访问,相当于一个地级市门户的访问量. 当天,阿里云计算宣布对旗下主力云计算产品进行打折促销,云服务商.风投机构都参与到这场狂欢中.

双12根本不在话下,阿里首次揭秘扛过双11的千亿级特征分布式机器学习平台XPS

阿里巴巴电商平台有上亿的用户和产品,每天产生百亿规模的用户反馈数据.比如淘宝首页的猜你喜欢场景,每天就有100亿规模的用户行为数据.如此超大规模的训练数据,给分布式机器学习带来了巨大的挑战,也引入了有趣的研究问题.2017年,阿里巴巴推荐算法团队和计算平台PAI团队合作打造了eXtreme Parameter Sever (XPS) 机器学习平台,其中eXtreme寓意为"追求极致", 体现我们希望设计具有极致性能和效果的机器学习平台的愿景.XPS平台已经广泛全流量运行在手机淘宝的猜你

这位阿里工程师的家,为何设置了重重机关?

有江湖传闻,许多阿里程序猿,最近每天下班之后,不打农药,不撩妹,蹲在家暗挫挫的布置机关,很痴迷的样子. 阿里工程师"木酱"童鞋就是其中一份子.↓↓↓ 下面带你走进木酱的家,感受不一样的天地. 表面上看,这只是一个普通的房子,但经过实地探访,满满都是心机. 在手机上呼唤Siri, 请打开客厅主灯,蹭的一下,亮了. 在沙发上看电影,吼一嗓子,窗帘合上了. 还有去厨房拿个冷饮,灯能自动感应. 躺在床上,说声晚安,家里的电器也都睡了. 这些埋在角落里的小机关,有的是人体感应器,有的是红外信号发

【阿里鬼道】Weex在双11会场的大规模应用:业务支撑、稳定性保障和秒开实战

前言 Native 开发的诸多亮点中,流畅体验和系统调用是最多被提及的.流畅体验体现在页面滚动/动画的流畅性,背后是更好的内存管理和更接近原生的性能:同时又是 Web 的痛点:资源首次下载.长页面内存溢出和滚动性能.动画性能.传统 web 性能(如JS执行效率).Native 有丰富的系统调用能力,而 Web 痛点在于:W3C 标准太慢,有限的设备访问能力,API 兼容性问题较严重,如 Geolocation 在 Android Webview 中可用性很差. Web 开发同样有诸多亮点,其中最

法国美女情迷阿里,成了天猫双11拼命女郎

9月8日晚上7点,阿里巴巴十八周年庆典晚会进入倒计时.克洛伊·康卡夫斯在钉钉上收到一条信息:"克洛伊,我们有个秘密任务.你可以去给Jack的节目伴舞吗?" "我的天哪,这也太疯狂了!只剩一个小时了!"克洛伊被拉进了一个排练群,得知她需要在马云表演的魔术结束后,陪同他从舞台另一端登场. 当晚,头戴金属面具的魔术师马云骑着哈雷在舞台上空消失,紧接着,身穿银色露肩短裙的克洛伊和他一起从黄龙体育场的跑道上现身. "我简直不能相信,我们有6万名员工,而我幸运地和马云

7位大咖齐聚CCF ADL计算经济学课程,探索算法博弈论,区块链、人工智能与经济学的交叉

2017 年10月19--21日,最新一期的中国计算机学会学科前沿讲习班(CCF Advanced Disciplines Lectures,简称 ADL)在上海财经大学举办. 本期主题是<计算经济学的理论与应用>,邀请了七位来自清华.上海财经大学.上海交通大学.香港大学的计算经济学领域专家以及蚂蚁金服.万向集团的负责人,从计算机经济学(算法博弈论)的基本原理.到拍卖.采购机制设计.区块链及分布式商业,并结合理论在实际中的应用场景进行了详尽的分享和解读. 7 位学术大牛.业界领袖分别是: 上海

女工程师独家揭秘:双11秘密武器阿里云数据库团队故事

据说,这个世界上有两类珍稀物种: 1 大熊猫 2 美女DBA DBA 即数据库管理员,需要广泛的数据库.业务.系统和网络知识:心细如发,善于沟通的性格:和7*24小时待命,火线解决问题的意志. 外人看似闲庭信步:自己人才知万丈深坑.因此挡住了很多女DBA 升级打怪之路. 阿里云数据库,一直被模仿,从未被超越.聚集了全球最顶尖的数据库专家.不是精英不聚头,在最顶级的数据库团队,从事专家服务的女DBA,会是什么感觉? 她和数据库团队同事又有哪些故事? 双十一临近,我们有幸采访到阿里云数据库团队的凌洛

阿里云服务工程师的双11:抄家伙帮客户打BOSS

每年的双11,满天飞舞的是订单.包裹,和关于剁手的段子,对于互联网工程师来说,则是打BOSS的时刻来了.各项技能必须都练到极致,才有可能打赢--系统性能.系统容量.容灾能力.安全性,缺一不可. 对阿里云服务工程师来说,每年双11的主要工作就是抄家伙帮客户打BOSS--护航.如何护航?今天就来扒一扒. 双11活动,就好比要办一场规模空前的晚宴,提前几个月,就会开始筹备.护航的阿里云服务工程师需要先搞清楚客户的需求,如想请多少人?吃点什么菜?清楚需求后,就需要把所有的环节都评估一下:场地够不够大,桌