大数跨境

看看阿里人放的大招——全链路压力测试

看看阿里人放的大招——全链路压力测试 飞鸟电商服务
2016-11-10
1
导读:“每个人只有一次机会,就是在11日凌晨的那十几分钟,顶过去就顶过去了,顶不过去,今年的双11就失败了。”


“每个人只有一次机会,就是在11日凌晨的那十几分钟,顶过去就顶过去了,顶不过去,今年的双11就失败了。”





2016年11月5日零点,阿里巴巴杭州西溪园区1号楼一间名为“光明顶”的双11指挥室,灯火通明。“开始!”现场指挥者陈琴(花名霜波)手里拿着话筒发出指令,巨幅屏幕上各项数据指标快速跑动。



负责压测现场指挥的技术小二陈琴向全体人员讲解作战须知


深夜的全链路压力测试现场没有丝毫午夜的静谧,280个技术骨干在这间已多次见证双11辉煌的会议室里为2016年双11上的最后一道保险——全链路压力测试的终测正式上演。










为了2016年双11,此前已进行多次压测。负责压测项目的队长丁宇(花名叔同)说“刚开始几百个系统都有问题,出现问题就意味着网站吞吐量达不到预期,系统负载很高,成功率很低,并有各种各样报错,通过压测随时发现问题随时修复。”


“最后一次必须要成功。”他盯着大屏幕,神色中并无太多紧张感。


最终压测要实现的目标不少。“除了监测某些常用指标,比如CPU、内存、硬盘,以及业务上的指标,如每分钟处理的量、反应时间等,还需要跟团队碰撞,创造一些极端化场景,去推演解决方案的可靠性。就算出现概率在万分之一,也要保证在双11当天不会对系统造成任何影响。”


11月5日凌晨4时许,最终压测成功结束。这样的测试已在此前三年的双11里成功运行二十多次,它是阿里技术人应对双11的主动出击。



零点的考验让每一个阿里巴巴人印象深刻。




熬过黑色一小时之后,振飞用了四个字来评价,“度秒如年”。


蚂蚁金服研究院胡喜(花名阿玺)最忘不了的双11凌晨场景是,身边的一个数据库管理员突然吼起来,账务库快不行了,然后他在交流群里倒数,30秒,29秒,28秒。


无线事业部负责人庄卓然对2011年和2012年的午夜惊魂印象深刻。他和另外一个同事在指挥部旁边的会议室里关了一个多小时,想解决方案,“逍遥子、乔峰、优昙都挤在会议室门口,不敢进来”。


这是一场人与时间的赛跑,人的智力与应变速度要在系统出现Bug时及时应对,保证消费行为顺利发生。对于技术团队而言,双11的顺利进行是个责任。“这个责任有一种不可承受之重,因为它输不起。它没有退路。”


用王坚对技术团队说过的话就是,“你们掌握着世界上最贵的回车键。”打错一个回车键,可能整个双11系统就崩溃了。


一个只许成功不许失败的任务摆在面前了,阿里巴巴的技术狂人们用自己的方法解压。


李津的解压方式是一个人大半夜开着车去龙井那边的山上,“开着天窗,在那睡觉,因为氧气足嘛”。振飞压力特别大的时候会去走西湖,围着西湖一圈圈的散步,让自己安静下来,给自己空间充分地思考。而蚂蚁金服的CTO程立(花名鲁肃)会选择喝茶,三秋桂子的清香刚过,杭州的寒气还未完全腾起,透明玻璃壶里翻滚的茶叶,他会非常享受这片刻的沉浸,这一刻,他忘记了自己。


庄卓然(花名南天)则会花上一天时间去灵隐寺上一炷香。缓缓腾起的青烟中,他闭起双眼,深鞠躬三下。这是他对降服双11未知流量的殷求与祈愿。很多人还习惯在双11的前夕沿着西湖夜行减压。


开弓没有回头箭,但也许磨刀不误砍柴工。技术团队意识到,这个只许成功不许失败的任务或许有新的破解之道——事前先模拟一遍甚至几遍双11的交易场景,就可以发现问题及时修复,针对修复不了的漏洞制定相应的紧急预案,到了双11当日才不至于出现不可挽回的局面。


阿里巴巴技术团队应对双11当天零点流量压力从此不再毫无准备。流量给人的压迫感也在减小。5日的最终压测现场, 0点27分时交易量突然出现了明显下滑,核心的指挥者们皱起了眉头,现场却并没有失掉节奏。


他们在打的是一场有准备的战争。


庄卓然这么看待全链路压测,“意味着在一定的时间内,在一定的机器规模和业务规模之下,有能力去保障预案和稳定性的准备都能够落到确定性上。”


压力测试是评估网站性能的重要手段。在全链路压力测试出现之前,无论是线下模拟的单一集群的压测还是线上引流压测,暴露出的基本上是一些单点问题。这两种传统的压力测试方式在模拟双11当天的高峰期真实压力,还存在着巨大的偏差。


全链路压力测试诞生于2013年双11之前,多个技术部门采用了线上真实用户数据与人为测试数据相结合的方式,首次成功地在生产环境中模拟出相对真实的超大规模的访问流量,将前端系统、网络、数据库等一整个系统环境完整地纳入压测范围,贴近实际的应用场景,为评估淘宝和天猫交易核心链路的实际承载能力提供有说服力的数据依据。“这(2013年)是具有里程碑意义的一年。”

 

程立曾用发射火箭的比喻来更通俗地表述它。“过去是把系统拆开成很多组件,像发射火箭,每个组件单独测试。性能ok,用理论推算拼在一起是ok的,然后大促当天就拼在一起发射。这样可能会成功,也可能不会成功。现在是把整个火箭发射很多次,发射好后还能回收。这样经历很多次,最后我们再一点火,就发射成功了。”


用有限的成本去支持最大化的吞吐能力和购物体验,这是压测存在的根本,也因为它,每年压测都需要发现和解决新问题——不断降低成本,提升流量吞吐能力,最优化购物体验。去年,备战的目标是“12,12,6”,即每秒钟会有12万人同时登陆商城页面、每秒12万人同时涌入的支付页面、以及每秒6万人同时完成的订单支付。今年,目标数字毫无疑问要被刷新。


叔同介绍,今年的系统有个很大的改变,即全面Docker化。目前阿里有超过15万个Docker容器在线上,可以将线上应用的依赖打包成镜像,尽可能做到自包含,这对任何一个系统都会很容易地去迁移和部署,解决了一致性问题和提升部署的可靠性,以及运维的效率。


往前每走一步,都是无人之境。这是一条没有终点、不断战胜自我的征程。但除了压力,这群技术人看起来乐在其中。“它把你的潜力充分地开发出来,如果不全力以赴,你真的不知道自己能做到什么程度。”


2016年11月11日,双11进入第8年,压测进入第4年。“我们很高兴看到5年前的峰值变成了今天远低于常量的一个状态,我们也觉得这是社会进步的表现,我们也希望今天的准备能够为未来做好准备,为未来整个变革从今天做起。”在今年的双11香港启动会上张勇如此寄望,对于压测和阿里的技术体系来说,一切还在进化之中,可以确定的一点是,他们正在书写未来。


                  魔方子个人微信号:2788393504


网店缺资金贷款找掌柜贷,专为中小电商解决资金难题。掌柜贷平台推出卖家无抵押贷款,0抵押0担保,随取随用,当天即放贷。现在注册,三分钟自助申请借款。贷款一万元最低利息72元/月,授信高达200万!淘宝京东卖家登陆官网:https://www.zhanggui100.com 立即在线申请贷款。




【声明】内容源于网络
0
0
飞鸟电商服务
1234
内容 595
粉丝 0
飞鸟电商服务 1234
总阅读47
粉丝0
内容595