双十一大促供应链服务平台保障经历

双十一大促供应链服务平台保障经历
展开查看详情

1.2018双11供应链服务平台保障 新零售供应链中台-梁梁笑

2.⽬目录 1. 概述 2. 梳理理链路路 3. 峰值评估 4. 容量量评估 5. 性能优化 6. 依赖改造 7. 保障协同 8. 压测检验 9. 项⽬目协同 10.监控治理理 11.战前准备 12.写在后⾯面

3.1. 概述 上承交易易 下接物流 腰部⼒力力量量 供应链服务平台 物流服务 物流透出 商家订购 容量量管控

4.1. 概述 梳 峰 容 性 依 保 压 项 监 战 理 值 量 能 赖 障 测 目 控 前 链 评 评 优 改 协 检 协 治 准 路 化 造 同 验 同 理 备

5.2. 梳理理链路路 祖传代码 上古应⽤用 ⽂文档缺失 ⽆无⼈人可问 . 2理对外接口 2. .1无用接口 梳理理产出⼀一份链路路 ⽂文档,是后续⼯工作的纲领 3. 剩余接口2理 性⽂文件 4. 确认强弱依赖

6.3. 峰值评估 交易易下单: 交易 总⼊入⼝口 务 下单 确定性 预测 业务预测: 历史 收集细化 经验 缺失瞬值 历史经验: 历次⼤大促 峰值预测 流量量漏漏⽃斗 改造变更更

7.3. 峰值评估 概括 峰值 接口 行业 /标 峰值 峰值 商品 渲染 分接口/行业 详情 下单 快消 美妆

8.4. 容量量评估 ⼀一定单机QPS下 UNSZ单元的机器器 承接6.52%的流量量 预估机器器+预估QPS? UNSHYUN UNSZYUN 现有机器器+当前QPS? 缺⼝口机器器? 21.74% 21.74% 最短的那块⽊木板? 限流值⼏几何? UNSZ UNZBMIX 6.52% 10.87% CENTER UNZBMIX25G 13.04% 15.22% UNSH 10.87% 预留留⼀一定的buffer

9.5. 性能优化 机器 链路 性能 峰 预算 梳理 优化 流量 基于已有的机器器预算,和之前梳理理出来的接⼝口链路路,我们需要 ⼀一些⼿手段优化性能来⽀支持峰值流量量

10.5. 性能优化 • 在c-ient端屏蔽流量 减少流量 • 在se/ve/端屏蔽流量 • 根据业I需求下线无用的IO逻辑 移除/降 • 大促r间根据业I特点降级部分IO 级IO 减少IO调 • 单个t询改c量t询 业务特点 用 玩法特点 移除sS • 移除Qvt没用的日志Q滥用的日志 IO • 短时间内l据不变的a况下,进行缓存,避免多余的IO >用缓存 • 拉长缓存失k时间,i高命中率 缓存命中 • 预热充分 率 • tai/序列Jn式修改,Java >Hessian 缓存O吐 • 字段精简 • 尽量用sS缓存在tai/H挡一层,避免网络IO sS缓存 • check慢&QL、离线e库任I、清理碎片&整理 l据库 • Lh高频率低k的sS代码 sS代码

11.6. 依赖改造 弱 依 系统对业务的⼀一种保障 赖 -> 强 依 强->弱: 赖 强依赖->弱依赖 不不影响核⼼心 防雪崩 弱->强: 确定性 下游依赖 兜底 资损

12.7. 保障协同 重度依赖的其他系统,其优化和保障措施,也是重要的⼀一环 •  预热 •  缓存 •  流量分组 •  新模型 商品 库存 心 心 订购 容量 心 心 •  预热 •  批量扣减 •  防雪崩 •  减少跨表 中间件同学⼤大规模要求升级的时候 ⼤大促也就近了了

13.8. 压测检验 压测费肝 整个双⼗十⼀一期间总共经历12次全链路路压测,真⼼心费肝 •  jst(ck查看线程堆s,N现很多线程)lockSlog)(ck输出h志的地g o地线程池满 •  查看源码N现k一个很大的JSON对象b印,且utx量过来都Db 印 •  鹰眼N现k一个长达3s的请求,超i 超i请求 •  checkON现j查询DB超i(索引问题 •  N现该部Jf据缓存n预热 •  通过a工c行j3(p命C触NGC来释e内存 •  N现c行j3(p的i候(DGoffline对应l务 ,对应p器B然对外l务, j3(pi超i 且k超i •  check对应的offline脚o,N现因为镜像L级,导致Linux命C输出与 老脚o预m不一致 回过头看看,压测的意义还是很⼤大的 每⼀一次压测都是对上⼀一轮优化结果的验证 同时,每次压测的问题,也是对下⼀一次优化的主要⽅方向

14.9. 项⽬目协同 豫则⽴立 不不豫则废 协同 责 机制 人 务 文档 项目间 拆解 沉淀 验证 风险 考核 识别

15.10. 监控治理理 看 监控治理 告警 系统监控 除去传统的看图和告警 + 还有如统计和拉单等,即消防处理理 业务监控 会出错的事总会出错

16.11. 战前准备 执行前置预案 所有的优化到位后, 预热 ⼤大促开始前1-2天, 按部就班执⾏行行各类计 一致性检查 划动作 资源检查 清理数据库 map释放内存

17.12. 写在后⾯面 • 整个⼤大促保障期间,涉及到众多的系 统、⼈人和业务; 系统 • 每个系统和业务可能分别是不不同团队 在负责; • 要做链路路分析、模型分析、容量量评估、 ⽬目标评估; 业务 • 要协调和明确各节点间的职责划分; • 要做各类优化、压测、监控和反馈; • …… 整个过程,是⼀一次⼈人与⼈人,⼈人与对象间的碰撞; 精密的仪器器产⽣生完美的作品

18. 3 + 8 8