全链路压测实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 全链路路压测实践
2. ⽬目录
• 全链路路压测是什什么
• 为什什么要做全链路路
• 整体设计
• 具体实施
• 展望
3. 是什什么
• 基于实际的⽣生产业务场景和真实环境,模拟海海量量的⽤用户请求和数据对整个业
务链进⾏行行压⼒力力测试
• 让⼤大促提前发⽣生
4. 为什什么
• 系统错综复杂,核⼼心链路路依赖
• 局部压测以偏概全,⽆无法评估真实⽔水平
• ⽊木桶效应
5. 整体设计
6. 存储和流量量路路由
• 流量量识别:
• 流量量打标:与业务完全
解耦
• NSQ拓拓展:可控制丢弃
• 数据隔离:
• 数据偏移隔离
• 影⼦子存储隔离
7. 业务⽅方升级改造
• nsq
• 周期描表应⽤用改造
• 应⽤用升级
• 数据组改造:统计
• mock服务:⽀支付,消息群发
• 改造后的测试验证
8. 总体流程
• 压测场景、链路路、⽬目标
• 数据⼯工⼚厂
• 流量量构造
• 压测执⾏行行
• 报告分析
9. 模型构造
⼤大促⻚页⾯面 店铺⾸首⻚页 商家活动 有赞精选
商品⻚页
• 压测场景、链路路
• 压测⽬目标
•
压测链路路的漏漏⽃斗模型
购物⻋车
下单
⽀支付
订单详情
10. 数据⼯工⼚厂
• 数据导⼊入
• 数据筛选清洗
• 数据导出
• 压测请求数据构造
11. 压测脚本
• 梳理理请求和参数
• 控制漏漏⽃斗转换率
• 不不同场景的流量量配⽐比
12. 压测执⾏行行
• ⼩小流量量下发验证
• 阶段性爬坡压测执⾏行行
13. 压测执⾏行行
•
•
核⼼心应⽤用开发值守、DBA、PE:
• 压测现场,识别出现的问题,及时通知压测各⽅方,调整压测策略略,并记录任务进⾏行行跟进
• 压测后,数据集群监控和问题
压测执⾏行行测试:
• 实施线上压测,监控压测指标
• 记录性能⻛风险和问题
• 优化压测模型、脚本、数据
• 输出压测指标报告
14. 结果
• 评估从完成全部交易易的整个链条中,核⼼心⻚页⾯面和交易易关键交易易的实际承载能
⼒力力,准确找到各系统瓶颈
• 强弱依赖
• ⼤大促的容量量规划
• 系统稳定性
• 降级、报警、容灾、限流等演练
15. 展望
• ⽩白天压测
• ⾃自动化⽔水位监测和流量量⼲干预
• 智能化的数据⼯工⼚厂
• ⾃自动化的BI⼯工具数据筛选建模
16. Q&A