滴滴出行全链路压测实战 孔帅康 滴滴网约车质量中台负责人 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 请替换 孔帅康 滴滴出行 网约车质量效能中台负责人 从事质量效能工程、稳定性工程建设专注于出行行业质量效能解决方案 曾任职于百度云、阿里云等国内一线互联网公司 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 网约车全链路压测概述 目录 全链路压测关键技术 全链路压测仿真度度量 规划展望 01网约车全链路压测概述 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 全链路压测 线下环境不稳定 机房服务放火 强弱依赖梳理 生产无流量突增情况 项目紧急无性能摸底 重大功能开城 业务背景 恶劣天气 营销活动 节假日 国考 月度例行演练 缺乏线下性能基建 流量洪峰 容量规划 过载防护 性能防腐 容量微调 演练文化 出行领域技术栈复杂性 生产环境复杂混合云 多机房多业务线多集群 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 什么是出行全链路压测 通过模拟海量司乘用户行为,在线上生产环境对核心链路执行系统级压力测试的行为,从而达到容量评估与规划以及风险挖掘的目的。 压测能力演进 全链路压测发展历程 2020年 2019年 常态单机房压测单场景(排队)多品类(快/拼) 按需双机房压测 多场景(排队/跨城) 多品类(快/拼/特惠) 覆盖L1S+大流量接口 赋能集团业务 2021年 2023年 同城加固压测 强弱依赖梳理 核心链路放火 外挂云机房资源仿真 2022年 异地多机房压测 线上主要流量品类覆盖 压测稳定性建设 常态双机房压测 多场景 多品类 集团业务联合压测 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 核心能力 限流 数据 订单 日志 城市 限流 兜底 02全链路压测关键技术 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 压测工具链建设 •位置要求:司乘距离(分单半径) •时间要求:5分钟内接单 •结果不确定:分单匹配策略决定 •数据仿真:坐标线上脱敏、过滤、转换 •过程管控:转换系数控制(过滤、放大) 状态机 海量压测司机 •运力控制:空车司机数、接送机速度 •管控:司机召回策略,热区识别 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 压测通路建设 A.流量染色&标识透传 压测流量标识 Trace数据通道 •APP端或接入层生成traceid,整个RPC链路唯一 •RPC调用时透传trace数据,生成新的spanid •Traceid/Spanid标识一个完整的调用链路 Trace数据扩展 •扩展Trace通道,添加StressMarker 压测流量传递 •RPC透传:HTTP协议、Thrift协议、Dubbo协议 •数据库访问:DBProxy等 数据库:物理隔离 •MySQL:影子表,依赖DBProxy •RT:影子表,依赖压测标记 •ES:影子索引,依赖压测标记 C.压测通路改造 B.数据隔离 日志与BI •Public日志:通过publickey隔离 •业务日志:增加hintCode字段 •BI:Kafkatopic隔离 缓存:逻辑隔离 •Codis/Kedis:逻辑Key 隔离 •Fusion:逻辑Key隔离 MQ:逻辑隔离 •下游系统决策是否订阅压测流量 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 压测应急处置 A.压测流量封禁B.压测流量限流C.压测流量急停 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 白天切空机房压测 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 压测过程组织 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 业务核心L1S链路观测 度量目标: 通过技术手段对压测核心链路进行精细化下钻,促进压测仿真与效果持续提升 技术挑战: •业务核心链路梳理完善度不足 •压测时段缺乏链路巡检分析类可观测产品 落地思路: 1.推动各业务方向梳理完善L1S链路数据,自动维护核心业务场景与各子系统间的逻辑关系 2.参考生产系统可观测产品,批量维护黄金指标&错误码分布,标准化到集群粒度 3.结合压测流量及线上放火探测出核心链路各节点强弱依赖关系 4.分阶段实现压测流量的metric、trace、log等监控数据关联,提高压测过程中问题定位效率及体验 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 业务核心模块容量水位大盘 整合容量管理手段,提升容量评估准确性&效率,整合多渠道压测数据,指导容量平台扩缩容 哨兵压测 弹性伸缩 业务压测 容量大盘 扩容指导 容量预测 限流阈值 容量计算逻辑: •人工标注:90天有效期 •哨兵压测:90天有效期,月粒度执行 •阶段峰值:自动更新+校验,校验通过覆盖旧值 •全链路压测:仿真度达标后覆盖旧值,不达标则丢弃 •历史线上峰值:60天有效期 03全链路压测仿真度度量 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 仿真度建设思路 明确度量需求 •确定仿真度度量范围及对象 •度量要求分解及选择 •度量方法及公式的调研及选型 度量体系构建 •度量数据获取 •评分模型构建 •权重因子选择 度量效果验证 •度量效果实验及对比 •度量公式校准 度量工程构建 •工程选型 •落地实现 仿真度度量意义 •看清全链路压测覆盖现状 •发现压测覆盖薄弱点,形成正向覆盖补充闭环 仿真度提升挑战 •时空不确定性 •订单距离/司机接送驾时间不确定性 •成单不确定性 •集团业务混布导致公共模块抢占不确定性 •… 第一步:目标流量预测 降噪算法 预测函数 原始数据 数据清洗 训练拟合 模型对比计算 流量模型 预估发单 系数提取 第二步:关系接口流量预测 模型校准 接入层接口仿真度模型调优 度量目标: 通过技术手段来对压测场景和期望的场景相似度进行一个科学的 评估,促进压测仿真与效果的持续提升。 落地路径: 节假日模型沉淀 流量预测 (预测模型) 模型对比计算 压测前压测启动 数据集合 度量模型: 离线训练数据聚合 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 聚焦L1S链路模块=>准确评估资源仿真度 聚焦L1S链路模块=>准确评估流量仿真度 模块接口/模块流量与业务单量拟合度: •对线上高峰期(如周五晚高峰)对比时间发单量与各接口、链路、模块流量进行线性拟合: �=𝑤!�+� ∑i𝑦+i−𝑦i2 ∑i𝑦i−𝑦,i2 •利用模块高峰期对比时间的真实流量与上步方程式计算的预测流量进行R方值计算: 2 �=1− 拟合度越高,代表和业 结果取值为[-∞,1],映射为[0-100],结果小于0的(效果比均差还差),直接默认为0。 务单量关系越大,流量仿真预测结果越准确 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 品类&场景覆盖 压测前参考线上真实品类/场景比例,折算预期压测水位值,权重因子由流量决定,流量越大,权重越大。 � " i"1 � 𝑓i∗𝑤i !"𝑤i i"1 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 其中𝑓!为流量,𝑤!为权重,场景覆盖的权重因子主要由流量的大小来决定,因此把当前项的流量𝑓!(flow)占总流量的比值作为权重𝑤!(weight),流量越高,比重越大。 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 仿真度效果展示 •正向化(一致化处理):属性值与度量准确度正相关 •无量纲化:不同指标,不同单位 •归一化:不同指标,数值大小不同 04规划展望 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 压测精度及效率提升 精细化资源仿真度 •结合历史经验、节假日、天气等多重因素准确预测重保时段生产流量峰值 •压测资源验证范围扩展至机房级,指导重保备机资源池筹备 •根据压测目标差异,准确估算出核心链路模块压测限流值,降低压测过程中非预期限流报警量级 •压测流量封禁司机侧状态保持,缩短压测过程 持续时长 压测护堤时效 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 Thanks 高效运维社区DevOps时代 荣誉出品 GOPS全球运维大会暨XOps技术创新峰会2024·北京站 THANKS 感谢大家观看 2024.6.28