73

2017双11-开启智能全链路压测之路

 6 years ago
source link: http://mp.weixin.qq.com/s/-GQ-M9YRsjluy2jIgzcRiA
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

2017双11-开启智能全链路压测之路

Original 长胜 天猫技术 2017-12-16 00:39 Posted on

Image

导读:全链路压测诞生之后,整个阿里集团稳定性得到有力保障,随着集团业务蓬勃发展,新业务和应用不断涌现,为了能让井喷式业务得到稳定性保障的同时降低压测成本,达到“无人化”全链路压测,今年开始对智能压测进行探索。 

智能压测概述

智能化压测,通过产品化、服务化、云化,一键完成阿里集团内外全链路压测准备和实施,保障集团内外全链路稳定;同时在常态化压测中,化身特种机器人,挑战系统承压能力,智能调整容量配比,快速定位问题。

如下图1所示,智能压测主要包含智能压测模型、自动化施压、预热系统化、压测云化、常态化智能压测五个模块。

图1 智能压测概述图

  • 智能压测模型:高效提供一套准确的大促零点高峰压测模型

  • 自动化施压:压测实施过程一键搞定,快速执行压测,准确发出目标量级的流量

  • 预热系统化:确保各应用数据&系统预热全面且准确,保障全链路系统在大促峰值处于活跃态

  • 压测云化:压测产品云化,为阿里集团内外各参与大促应用和系统提供压测服务

  • 常态化智能压测:问题解决在平时,提高全链路压测效率

智能压测模型

全链路压测模型是全链路业务的抽象集合,直接模拟大促峰值模型,驱动整体压测。

智能压测模型,通过智能模块管理整条压测模型产业链,实现模型采集、预测、设计、构建整个过程的一键化智能操作,提升压测模型效率,同时在过程中将业务模型智能划分和计算,转换成可执行的压测模型,保障压测模型准确率。整体流程如下图2所示。

模型预测:采集往年大促业务数据,制定预测样本,通过预测算法,预测当前大促峰值模型。

压测模型智能划分和计算:将模型按照不同业务划分为可执行压测模块,统筹计算整体压测指标和各子模块压测业务指标(拆单比、主订单、子订单、购物车:立即购买、商品类型占比等),确保子模块和整体模型的一致性、准确性和完备性。

压测模型自动化调整:自动化调整压测模型,调整整体数据、业务指标等,达到一次压测验证多套模型的效果。

模型构建:一体化模型构建,根据模型参数,自动构建压测模型,生成压测流量,构建过程中可自动进行异常校验和模型数据校验,确保最终压测流量准确率。

压测方案:一键生成多单元多业务压测方案,压测方案可在多环境下执行,并且可根据业务要求,多模型组合执行。

智能管理模块:控制整体模型生产过程,一键操作,校验和修复异常流,控制模型构建对上下游系统影响,并使整体流程可视。

智能压测模型支撑大促效果:产出的全链路压测模型准确率达到90%以上,可在一天内完成大促压测方案设计计算和亿级别模型数据输出。

图2 智能模型图

自动化施压

压测执行过程自动化,提高压测执行过程的准确率和效率,减少人为操作导致的异常和误差。

如下图3所示,今年在压测执行过程中,预热、预案、限流设置和动态调整、压测资源自动分配、施压整个过程均一键化操作,由系统校验执行结果及其准确性。通过智能施压,今年的施压量级达到1600万/s,预案执行准确率100%,预热充分,限流准确。    

图3 自动化施压流程图

预热系统化

大促期间预热必不可少,本地缓存和外部缓存均需要预热到位,避免大促峰值期间缓存被击穿,直接打到DB端产生雪崩效应,导致系统波动。

以往都是各个业务系统自行预热,中间可能会存在疏漏和预热不完善,今年推出智能预热系统,可覆盖核心应用及应用间关联的预热场景,一键实现全链路系统预热,事半功倍的同时也提升了预热的准确性。

通过智能预热系统,已实现亿级别数据的缓存预热、应用预热和DB预热,确保系统在0点峰值时处于活跃状态。

图4 预热系统结构图

压测云化

压测云化,通过内部服务和上云实现外部服务,将集团内外的全链路应用全部纳入到压测范围中,即保障平台内部应用系统稳定,也保障关联的外部卖家应用性能稳定,在大促时达到整体稳定和双赢。

内部服务:产品化输出服务,为内部各业务提供可定制模型、容量弹性伸缩等个性化服务。

外部服务:将压测系统产品化上云,为外部商家提供压测服务,可实现数据、场景、模型、压测一键式操作,模型更接近大促峰值模型,压测环境和大促保持一致,压测效果更真实,保障卖家自身系统容量准确可靠。

以往的卖家自身系统压测过程中,是mock集团内部业务,直接模拟最后一步达到其自身系统的请求,同时使用的数据也比较单一,这中间会出现很多业务点覆盖不到,模型不完善,出现很多意想不到的问题;通过压测上云服务,可以为卖家提供真实的模型和丰富的数据,压测直接从最源头发起,把所有业务路径节点均覆盖其中,验证真实业务路径能力,确保各节点性能稳定,为卖家在大促峰值期间提供更可靠的业务能力输出,今年大促峰值期间各外部系统稳定,和集团内部应用交互顺畅,往年出现的问题彻底消除。

图5 压测服务

常态化智能压测

常态化智能压测,在非大促态下全链路压测系统化身为智能压测机器人,对全链路系统进行固定频率的压测,沉淀全链路性能基线,及时发现系统瓶颈和定位原因,将业务应用瓶颈发现并消灭在平时,下图6展示了常态化智能压测流程。

图6 常态化智能压测流程图

智能环境:常态化压测在压测环境(也在生产环境中,有独立的一套和线上系统相同的配置)中进行,对线上流量无任何影响,操作时可一键将目标应用集群按比例隔离到压测环境中。

智能模型:压测模型采用大促模型,按照大促要求设计和执行压测策略。

智能施压:按照压测模型和策略和图3中的施压流程自动施压。

弹性容量:压测过程中,可根据当前系统表现进行弹性伸缩,确保在达到目标量级时,各系统按照预期性能指标调整到准确的容量。

性能基线&智能报告:在达到目标量级后,采集各系统性能指标和容量数据,沉淀性能基线,和以往基线进行对比,快速发现问题,并通过业务埋点监控定位问题可能出现原因,最终将压测数据、对比结果和问题原因自动录入报告并发送给业务方。

通过以上步骤,可实现无人值守的常态化压测,业务方在收到报告后,自行解决报告中的问题,下次压测再做验证,将全链路系统中的问题消灭在平时。

结语

在今年智能压测实施下,模型准确率达到93%以上,整体效率较去年提升2倍以上,为双11全链路压测节省1000人次工程师,同时保障了全链路系统稳定性,使今年双11峰值(32.5万笔交易,25.6万笔支付)如丝般顺滑。

今年是智能压测实施第一年,后面智能压测还会继续创新和使用更多智能化方法,让压测更高效更准确,让全链路压测“无人化”更近一步。


识别图片二维码▲关注「天猫技术」

技术驱动商业变革|做最懂商业的技术人

欢迎大家积极点赞和留言想要听到的技术分享,一起交流分享电商技术,做最懂商业的技术人!我们将通过微信公众账号分享更多的独家技术细节!敬请关注。

Image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK