蚂蚁大促场景下的全链路压测体系构建与保障实践
如果无法正常显示,请先停止浏览器的去广告插件。
        
                1. 蚂蚁大促场景下的全链路压测
体系构建与保障实践
刘凯宁            
                        
                2. 个人简介
刘凯宁
⚫ 蚂蚁集团 SRE 技术专家
⚫ 多次参与蚂蚁集团超大型活动的稳定性保障,承担过大促
保障队长、全链路压测负责人、全链路资源容量负责人、
全链路资金安全保障负责人等角色
⚫ QCon
2024 上海站明星讲师            
                        
                3. 目录
01 蚂蚁大型活动保障架构概览
02 蚂蚁全链路压测体系
03 蚂蚁大促全链路压测实战
04 未来已来!AI 压测初探            
                        
                4.             
                        
                5. 01
蚂蚁大型活动保障架构概览            
                        
                6. 引子:大促活动形式及特点
① 支付峰值型大促
② 玩法峰值型大促
挑战点1:支付宝 SKA 商户峰值时间不确定 挑战点1:伴随营销秒杀抢券 /红包发放,资金 /客诉风险高
挑战点2 :超级大促支付秒杀峰值高,链路压力巨大 挑战点2 :玩法多样复杂, C 端用户行为难以预测准确
挑战点3 :支付商户聚集,极易引发支付链路热点 挑战点3 :通常带来端增,整个 APP 以及在离线链路压力巨大
支付链路瓶颈点
瓶颈点异步化
峰值时间不确定
全链路自适应降级改造
单商户热点
高峰值验证
算发奖提前演练
对客风险识别布防
用户动线分析
端增流量分析 /限流
会场玩法流量预估
数据链路分层降级
客户端离屏灰度
商户热点优化
提前布防 常态化压测 线上流量覆盖
薄弱点梳理 模拟外部流量 异步化+ 自适应降级
全链路压测/仿真分析
极端流量防御
多层限流/降级            
                        
                7. 蚂蚁大促分级及活动保障 SOP
匹配大促 SOP
大促分级
评估因素
因素分级
M 人
用户人群
N 人
X 人
Y 人
整个个公司
大型部门
部门
分级保障
活动信息 S+ 级
时间/玩法/峰值 XX 项保障动作、X 种角色参与
必选 (可选)
资源评估
& 交付 资金安全保障
信息提报
门禁
中型部门
小型部门
S 级
XX 项保障动作、X 种角色参与
M 元
预算
客户端保障
N 元
全链路
压测
X 元
Y 元
大型部门负责人
活动发起人
业务形态
XX 项保障动作、X 种角色参与
全链路压测
门禁
二三方保障
中型部门负责人
B 级
预案&
限流
小型部门负责人
封网&
变更管控
节日氛围
秒杀抢购
活动上线
前N 天门禁
A 级
线上值班
XX 项保障动作、X 种角色参与            
                        
                8. 蚂蚁大促保障整体流程            
                        
                9. 什么是容量风险?
在SRE (Site Reliability Engineering
,站点可靠性工程)领域中,“容量风险”
(Capacity Risk)指的
是:系统当前或未来可能因资源容量不足,无法满足用户需求或业务增长,从而导致性能下降、服务不
可用或用户体验恶化的潜在风险。            
                        
                10. 容量风险的本质:如何承接高并发流量 ?            
                        
                11. 02
蚂蚁全链路压测体系            
                        
                12. 全链路压测定义
全链路压测是模拟真实业务场景流量,对完整系统链路(前端→后端→数据库等)进行高并发压力测
试,发现性能瓶颈与单点故障,确保系统在峰值(如大促)下稳定运行。通过流量染色、影子表等技术
实现零业务影响
—— From Ling- 1T
蚂蚁全链路压测特点
典型使用场景            
                        
                13. 蚂蚁全链路压测平台架构介绍
压
测
管
理
平
台
压
测
管
控
模
块
项目管理 场景管理 压测管理 压力机管理 压测监控
成员管理 构建场景 流量配置 压力机上下线 系统监控
脚本管理 数据管理 压测执行 压力机扩缩容 流量监控
报告管理 监控管理 压测记录 压力机状态 压力机监控
分发
调度
压力机
注册
心跳
检查
监控
汇总
压
力
机
模
块
脚本
部署
监控
上报
脚本
执行
注册 &
心跳
压
测
风
险
模
块
压测窗口及白名单
压测熔断
压测前置校验            
                        
                14. 蚂蚁全链路压测平台核心技术介绍_全链路染色打标
生产
流量
应用
服务
流量
接入层
缓存
中间件
数据库
基于 Trace 实现全链路上下文传递压测标
压测
流量
压测标
流量
接入层
透传压测标
压测标
应用
服务
判断压测标
实现压测逻辑
压测标
压测标
压测标
中间件 缓存 数据库
判断压测标
接受或隔离压测请求 判断压测标
读写压测 Key 判断压测标
读写压测表            
                        
                15. 蚂蚁全链路压测平台核心技术介绍_压测隔离
应用层
中间件层
缓存层
存储层
以消息中间件为例
读写请求
入口逻辑
压测标
正常逻辑
生产消息 压测消息
消息
Pub 消息
Pub
压测逻辑
出口逻辑
压测消息
白名单
消息
Sub
读写请求
压测标
统一入口
正式
Key
压测
Key
消息
Sub
统一缓存集群
压测标
正式表
压测表
统一数据库集群            
                        
                16. 蚂蚁全链路压测平台核心技术介绍_压测前置风险校验
压测前置校验
压测起量之前,主动进行容量、中间件、限流、
预案等风险的校验,提前感知并解除压测风险,
避免压测过程中出现低级问题            
                        
                17. 蚂蚁全链路压测平台核心技术介绍_压测熔断
压测熔断:及时发现压测链路中的各种异常,快速、有效地阻隔压测风险            
                        
                18. 蚂蚁全链路压测平台核心技术介绍_压测熔断_举例
系统error熔断 :监测应用的系统
报错日志量级,超过特定阈值则会触
发熔断
熔断场景 :被压测应用的系统报
错量级上涨
熔断时效 :秒级,20 秒之内
熔断要求 :应用需要接入标准日
志框架,并配置熔断报错阈值            
                        
                19. 蚂蚁全链路压测平台核心技术介绍_压测溯源定位
压测溯源 : 通过应用 appName
查询该应用当前的压测情况,快速获取某一应用被哪个场景压测,便于进
行压测来源判断,异常情况下能够及时应急处理            
                        
                20. 蚂蚁全链路压测平台核心技术介绍_压测窗口及白名单
为统一管理压测流量,同时尽可能降低压测对线上产生影响,特设置多维度的压测管控窗口
日常窗口
早高峰
大促窗口
XX 大促压测管控时间段
X 小时
临时窗口
重大事件全站封网
X 小时
午高峰
晚高峰
Y 小时
其余时间
都可以进行
压测
Z 小时
XX 大促
相关场景
非大促
其他场景
线上故障正在处理
Y 小时
压测平台
临时封网
所有场景
不可压测
容灾演练正在切换
可以压测
不可压测
Z 小时
高峰期管控时间按照业务实际情况来定
压测白名单机制
◼ 原则上压测管控窗口期间需要严格按照封网要求进行压测变更管控,但在落地执行的时候实际情况可能较为复杂,本着实事
求是的考虑,压测平台有白名单机制,允许某压测场景在一定时间之内可以不受压测窗口管控
◼ 当前申请压测白名单需要走审批,审批人为申请人主管 + 压测平台管理员            
                        
                21. 03
蚂蚁大促全链路压测实战            
                        
                22. 全链路压测基本流程
压测前
压测中
压测后            
                        
                23. 压测风险
⚫ 压测配置未完全与生产配置分开 ⚫ 压测之前应用未扩容到位
⚫ 压测标记未透传,链路不通 ⚫ 不同 Zone 的机器不均匀
⚫ 压测表未创建,数据库报错 ⚫ 压测限流未配置
⚫ 缓存未使用压测 key,污染生产集群 ⚫ 压测熔断配置没开
⚫ 未配置压测监控,压测期间未正确盯盘
⚫ 起量过快,系统某些节点无法承载瞬间高压流量
⚫ 线上有异常未及时感知并停压            
                        
                24. 容量评估与资源准备
单接口读写模型
图
整体流量模型图
资源需求汇总表
图只做示例,数字隐藏
具体依赖视实际情况来定
应用名 总计 QPS 资源需求 具体机房分配
主应用 xxx QPS xxx cores 城市A :xxx1 cores
城市B :xxx1 cores
下游应用 01 xxx QPS xxx cores 城市A :xxx1 cores
城市B :xxx1 cores
下游应用 02 xxx * 2 QPS xxx cores 城市A :xxx1 cores            
                        
                25. 压测脚本编写、调试、验证
压测基本概念
压测前期准备
⚫ 按照流量模型确认被压接口
⚫ 为每个被压接口准备起量压测脚本
⚫ 调试压测脚本并进行压测验证            
                        
                26. 压测配置与资产准备
压测配置 :一般分为全局配置和业务自定义配置。全局配置一般用于通用内容配置,例如访问地址、环境信息
等内容;业务自定义配置一般实现在业务接口中,在压测期间会推送对应的压测开关、压测特定配置等,来保证全
链路压测能走通
压测数据资产 :用于业务流或业务单元脚本中需要用到的压测数据,一般是压测用户资产;在执行压测时,压
测中心会将压测数据分发到各台压力机中,用于压测任务的执行
全链路压测必须搭配压测配置及压测数据资产
压测
流量
压测用户资产
流量
接入层
识别压测用户
压测标
应用
服务
读取压测配置
兼容压测逻辑
压测标
压测标
中间件
执行压测隔离、压测白
名单、压测挡板等逻辑
压测标
缓存 数据库
透传压测逻辑
读写压测 key 执行压测路由
读写压测表            
                        
                27. 压测计划制定
由于全链路压测涉及到的范围广、链路长、人员众多,压测负责人必须制定详细的压测计
划,以便压测过程顺利、压测问题及时解决,助力全链路压测尽快达成既定目标
压测范围
◼
◼
◼
◼
压什么场景?
压哪些接口?
涉及到哪些应用?
可能会影响哪些业务?
压测模型
◼ 每个场景要压多少量级?
◼ 核心应用总计要承接多少
流量?
◼ 哪些链路节点需要降级?
◼ 机器资源是否扩容完毕?
压测组织
◼ 全链路压测需要哪些人
员必须到场配合?
◼ 整体压测形式是现场压
测还是线上压测?
◼ 压测要组织几个场次?
压测执行
◼ 每场压测具体起量计划
是怎样的?
◼ 压测需要重点关注哪些
监控大盘?
◼ 压测问题如何记录?
◼ 压测复盘如何进行?            
                        
                28. 压测执行及盯盘            
                        
                29. 压测准出
整体压测结论: 压测是否通过?
压测到量情况
系统负载情况
◼ 各个接口目标量级、压测
量级、到量百分比 ◼ 业务指标: 峰值成功量、峰
◼ 各个下游服务依赖的实际
到量情况 ◼ 系统指标: CPU 水位、内存
压测
产出
值成功率、峰值耗时
水位、JVM 情况、线程池情
况、DB 负载、缓存负载……
压测报告
系统峰值
水位截图
压测问题情况
◼ 已解决的问题: 问题数
量、问题原因、问题当前状态
当前风险情况
◼ 当前压测还遗留哪些风
险?是否需要上升解决?
◼ 未解决的问题: 问题原
因、问题跟进人、问题解决要
求时间、问题当前状态
压测到量
监控截图
压测执行
记录链接
压测问题
记录列表            
                        
                30. 04
未来已来:AI 压测初探            
                        
                31. AI 链路的特点
传统业务关注的核心指标
总量
CPU
水位
成功量
峰值
QPS
对比传统业务链路, AI 业务链路最关注的技术风险目标:
平均
耗时
网络
延迟
◼ 重点关注同一个业务场景在不
同模型下的业务表现差异
◼ 从提示词调优、全链路可观
测、输出结果评测等多方面进
行业务表现评估
◼ 为用户交付优质结果的同时加
强大模型风险管理
◼ 重点关注端到端 TTFT 指标,持续
优化 AI 业务链路各阶段耗时情况
◼ 从基模选择、AI 服务多机房部署、
GPU 容量供给、全链路延迟可观
测等方面提升用户体验
◼ 为 AI 业务效果交付极速服务的同
时提升 AI 保障效率
◼ 重点关注 AI 服务层、AI 基础设
施层的稳定性
◼ 从模型部署成功率、AI 可观测、
超大 GPU 集群调度等方面加强
技术风险能力建设
◼ 为 AI 服务保驾护航的同时兼顾
AI 成本            
                        
                32. AI 链路压测实践            
                        
                33.             
                        
                34. THANKS
大模型正在重新定义软件
Large Language Model Is Redefining The Software