《5-全链路压测实践及压测平台建设-微盟集团-赵金龙.pdf》由会员分享,可在线阅读,更多相关《5-全链路压测实践及压测平台建设-微盟集团-赵金龙.pdf(49页珍藏版)》请在三个皮匠报告上搜索。
1、全链路压测实践微盟集团赵金龙议题大纲1.背景介绍2.全链路压测实施与挑战3.压测平台建设与应用4.总结与规划背景介绍业务上技术上如何保障稳系统定性?l 电商系统大促频繁l KA商户各种营销活动l 分布式架构和业务快速发展带来的不确定性l 当前业务承载能力未知l 限流、降级、熔断策略配置是否合理议题大纲1.背景介绍2.全链路压测实施与挑战3.压测平台建设与应用4.总结与规划全链路压测调研-基础要素压测模型压测环境压测数据全链路压测调研-技术方案压测流量染色透传HTTP请求:请求头加压测标识RPC请求:rpcContext上下文调用异步请求:transmittable-thread-local,解
2、决异步执行时上下文传递的问题压测数据隔离增强中间件client,重写连接类,AOP拦截,根据染色标识路由影子数据源三方调用MockAOP拦截,根据染色标识路由到Mock服务全链路压测调研-内部现状流量染色透传基础架构组件版本不一致中间件、组件各异异步、回调通知、Job改造成本基础架构组件统一中间件、组件统一各业务线改造适配全链路压测实施过程与目标全链路压测-分步实施克隆生产环境应用配置生产环境数据同步、脱敏压测环境部署局部业务改造,实现流量染色透传数据源路由,影子存储配置数据隔离改造全链路压测-环境部署全链路压测环境传统压测线上全链路压测代码一致配置一致成本相对较低无侵入压测场景覆盖范围内的所
3、有核心链路及场景覆盖面发现系统所有链路存在的瓶颈点,主动环境特点环境稳定/完全真实环境/压测结果真实可靠业务影响大量脏数据影响线上性能/高QPS可能造成业务受损投入成本无额外环境成本;业务改造成本压测场景单机单接口、单机单链路、单机混合链路覆盖面需求响应式,被动环境特点环境不稳定/配置低/压测结果参考性不高业务影响不影响业务投入成本需要搭建单独的压测环境全链路压测挑战-压测模型 业务核心交易链路场景 电商零售业务 直播业务 营销活动 各种促销/引流场景(不同的入口流量模型)渠道引流 商品引流 优惠券 各场景流量比例模型 618活动峰值数据 CAT统计交易配比上海品茶/活动专题页商详加购下单支付压测
4、模型及指标制定压测模型及指标制定全链路压测挑战-压测平台多业务线核心接口100+目标QPS12万+多人协作电商零售、直播业务、营销活动混合压测压测场景脚本、压测数据构造压测实时结果查看、分析压测报告、性能问题、优化方案编写全链路压测挑战-如何高效实施组织上自上而下宣导成立专项推进压测平台建设技术上双11电商零售压测场景双11直播压测场景双11压测数据概览双11稳定运行电商零售业务全链路整体QPS提升10倍直播业务全链路整体QPS提升1.8倍议题大纲1.背景介绍2.全链路压测实施与挑战3.压测平台建设与应用4.总结与规划压测平台建设过程压测平台建设-工具选型NgrinderJmeter优点开源,
5、java/python,可扩展支持分布式(controller/agent)B/S开源,java,扩展方便支持分布式(master/slave)支持复杂场景设计缺点复杂场景局限分布式(瓶颈点)脚本维护批量调度运行C/S或Command分布式(瓶颈点)脚本维护结果展示压测平台建设-平台架构压测平台建设-Server端执行逻辑压测平台建设-执行逻辑简版压测平台建设-核心能力l 支持http/https、Dubbo接口压测,并分别支持压测流量打标染色l 支持丰富的复杂链路场景配置,目前支持3种压测模式(并发模式、RPS模式、固定次数模式),2种流量模型(固定压力、阶梯递增)l 压力机支持水平扩展,可
6、发起超25万QPS的压力l 支持实时结果展示与历史结果展示,可自动生成压测报告,并做瓶颈预判断l 基于调用链路,聚合链路应用性能数据和资源监控,包括pod、DB、redis、es等资源监控l 自动生成压测流量拓扑,展示链路流量放大情况压测平台建设-数据大盘压测平台建设-流量比例控制多条业务线多个链路场景,N多接口混合场景流量比例如何控制?压测平台建设-流量比例控制压测平台建设-流量比例控制压测平台建设-流量拓扑压测期间,对于压测涉及到的应用、接口过多,完整链路不够清晰压测流量从入口到下游依赖接口的流量转化、放大比例不清晰压测期间,对于涉及到的应用、组件的资源使用情况不够清晰如何直观反馈系统负载
7、情况?压测平台建设-流量拓扑与容量评估流量拓扑与容量评估-目标04性能分析与容量评估05容量水位模型快照:包括QPS、应用、组件资源以及容器集群使用情况010203性能分析与容量评估模型:总结性能问题表现与定位分析决策经验,提炼分析策略模型,形成判断规则结合容量水位快照,以及相关性能指标数据,预估潜在性能风险与瓶颈系统分析资源使用情况,暴露资源风险点与冗余较大的端点,平衡资源配置与容量效能提升、成本优化等专项配合,制定有效评估规则链路关系图:自动分析压测接口调用链,生成一条清晰的链路关系图(应用+接口+组件)监控数据聚合:自动拉取链路接口QPS、耗时,链路应用、组件资源使用情况压测流量拓扑图:
8、压测结束后,自动生成压测流量拓扑图,展示链路流量放大情况流量拓扑与容量评估-方案流量拓扑与容量评估-效果展示压测平台建设-流量打标压测平台建设-流量打标通过 RpcContext 上的 setAttachment 和 getAttachment 在服务消费方和提供方之间进行参数的隐式传递压测平台建设-流量打标压测平台建设-参数化增强参数不能同时使用构造唯一参数共用参数化数据压测平台建设-参数化增强常规化压测-定时任务压测平台建设-实时压测数据压测平台建设压测报告压测平台建设压测报告议题大纲1.背景介绍2.全链路压测实施与挑战3.压测平台建设与应用4.总结与规划常规化压测丰富压测模型常规化压测完善生产性能基线常规化压测模型KA商户压测模型活动压测模型常规化压测性能保鲜限流保鲜接口性能基线全链路性能基线历史版本变化曲线稳定性保障平台建设聚合资源、组件、接口监控数据抽象性能问题分析模型制定容量评估规则容量评估模型分析事故报告,提炼故障类型,丰富故障演练场景与标准化演练模板,完善故障场景复盘与压测平台能力打通故障演练与复盘压测SLA应用故障演练SLA应用SLA规则管理与应用借助流量回放平台录制能力,编排压测场景与压测平台能力打通流量回放平台整合稳 定 性 保障 平 台 建设