《亿级流量背后的可靠性保障方案_王紫薇.pdf》由会员分享,可在线阅读,更多相关《亿级流量背后的可靠性保障方案_王紫薇.pdf(26页珍藏版)》请在三个皮匠报告上搜索。
1、亿级流量背后的可靠性保障方案分享人:王紫薇个人简介姓名:王紫薇所在组织:搜索事业部专业领域:主要负责一级引擎测试目 录010203背景介绍线上稳定性保障容量测试线下性能测试实施搜索特点性能和稳定性要求高分布式、集群化、机器多、在线部分数十个服务部署在两地四中心的上万台机器上架构复杂单日pv高、需求广泛、高时效性,百亿网页百万级别的日志数据流量高整条服务链路长,涉及服务多,服务相互依赖,服务内部自适应动态调整策略多业务复杂服务性能p99毫秒级别,明显影响用户体验,用户容忍度低,要求服务高可用性能敏感保障场景01服务版本日常迭代更新上线:模型、策略日常更新新服务上线,当前服务资源与上下游服务是否能
2、承载02计划变动03突发事件机器更新:系统更新,硬件更新架构变动:服务链路发生变动对资源消耗的影响线上故障:机器故障、服务异常、异常告警流量突增:紧急响应,紧急扩容线上稳定性问题紧急情况下的预案整体服务的容量是多少哪些服务成为链路的瓶颈每个服务的容量和余量服务是否需要扩容,扩容多少,怎么扩容线上稳定性保障预案容量方案制定方案制定组织团队、确认预期、准备数据测试过程测试过程压测执行、观察监控、验证预期、记录问题测试结论测试结论复盘异常、推进优化、优化验证余量预案线上稳定性保障容量测试整体流程准备测试执行测试结论准备阶段1 1目标确立目标确立压测目标:从哪里验证?何时验证?重点验证点:对重点改动事
3、项做预估期望达到的容量2 2异常处理方案异常处理方案目标:尽量不要让非主流程服务影响整体压测单点问题:发现问题时下掉资源不够,可动态扩容:影响整体指标后,记录,并扩容熔断、降级、扩容3 3压测压测数据数据目标和要求:模拟线上用户行为模型方式:线上日志解析+动态数据集补充压测数据线上流量回放线上流量回放来源线上真实用户行为根据压测目标确定获取线上数据服务动态数据动态数据集集01010202强时效性泛时效性时效性时效性意图识别Query特征Query改写分类分类QUERYQUERY筛选染色常规流量常规流量特殊逻辑特殊字符异常累积异常异常QUERYQUERY命中各种策略逻辑策略策略QUERYQUER
4、Y终止条件对比目标对比目标指标维度指标维度服务层面服务层面服务器指标:coredump,error服务指标:p99,p90,p50,avg业务指标:坏结果率,重试qps,策略触发率进程指标:cpu,内存等资源消耗指标维度指标维度超预期很高时终止对比目标对比目标主流程服务:严重影响性能、效果非主流程服务:无法实施降级、停止,并且影响了整体的性能时终止服务层面服务层面监控指标整体流程准备测试执行测试结论压测执行执行阶段执行阶段梯度发压:每次增加压力梯度不要太高,避免流量的陡增增量加压到线上水平,增量加压到线上水平,保持稳定运行保持稳定运行试探线上余量,加压保持时间间隔增量加压增量加压异常情况解决方
5、案、定位、目标验证观测监控观测监控填充基础cache压测预热压测预热告警屏蔽、外部服务调用:关闭广告、收费方案集群环境:日常资源消耗任务保留、保证服务正常上线、环境验证环境准备环境准备01010202030304040505压测平台压测平台 参数配置:预制basic.jmx+插件.jmx通过模板语法来动态组合 Jmeter指标收集:通过InfluxdbBackendListener来实现 压力机和服务器指标收集:通过Telegraf(数据采集工具)压测执行执行阶段执行阶段梯度发压:每次增加压力梯度不要太高,避免流量的陡增稳定运行稳定运行试探线上余量,加压保持时间间隔增量加压增量加压异常情况解决
6、方案、定位、目标验证观测监控观测监控填充基础cache压测预热压测预热告警屏蔽外部服务调用:关闭广告、收费方案集群环境:日常资源消耗任务保留环境验证环境准备环境准备01010202030304040505整体流程准备测试执行测试结论效果数据支撑摸清线上容量情况,对后续的产品策略提供了数据支撑隐患暴露性能问题、机器资源问题、服务代码问题、环境问题等流量空间推动资源扩容、代码优化、资源合理分配,提高了整理流量空间异常机制推进服务优化、建立分级降级方案、熔断机制等线下性能测试实施线