全面解析全链路压测
何为“容量保障的珠峰”在软件性能测试领域有一项测试活动以其实施难度之大、技术综合性之强、涉及范围之广被称为性能测试的“珠穆朗玛峰”这就是实现容量保障技术的全链路压测。全链路压测的理念就是对系统很有可能出现的流量峰值通过技术手段在生产环境上“模拟”出来。它的核心诉求是验证系统整体是否能承载预估的峰值流量做好全链路压测可以带来非凡的价值。首先是保障了系统的容量安全和稳定性其次是提高了系统的服务治理和架构设计水平最后是提升了团队的技术水准与应变能力。阿里为双 11 大促做了全链路压测最早的探索细节公开后即成为业界效仿的对象。具体来说“容量保障的珠峰”在实施时会遇到如下挑战· 必须在生产环境中实施这就不能对现有业务产生影响。· 涉及面广至少要将核心业务流程所涉及的链路都纳入测试范围。在规模较大的系统中会涉及成百上千项服务。· 技术复杂从基础设施到系统业务都要围绕全链路压测配合改造。· 人员素质要求高参与人员要熟知系统调用链路具备性能分析和调优技术。我们先来看下做好全链路压测有哪些步骤。全链路压测要这么做在执行全链路压测活动之前要做好相应的技术准备工作。首先是压测数据隔离即将真实业务数据与测试数据区分开有逻辑隔离和物理隔离两种方式。然后是中间件改造和应用服务改造再对压测流量构造工具进行选型。最后是确定对哪些容量指标进行监控。准备工作做好后下一步就是进入执行过程大体上可以分为事前方案、事中盯盘、事后分析三大块。这三大块又可以细分为六个具体的步骤· 第一步压测方案设计主要工作是明确目标、制定计划、备好预案。· 第二步压测方案评审集思广益研发人员与测试人员共同参与查漏补缺。· 第三步压测准备准备数据、调试脚本、部署 测试工具等。· 第四步压测执行逐步上量严密监测发现异常及时止损。· 第五步结果反馈分析总结压测过程中产生的各项指标数据编写压测报告。· 第六步持续跟进对暴露的问题进行改进并在下一次压测活动中验证。全链路压测活动看来并不神秘只要按照这六步进行就能有条不紊地展开。作者吴骏龙创作本书的最大初衷也是为了让全链路压测技术“平民化”、实用化将各项工作系统总结出来既能让没有经验的技术人员快速上手又能为从事此工作的专业人士带来更多启示。吴骏龙是某大型互联网公司质量与效能团队技术总监、腾讯云“最具价值专家”曾任 Wish 中国测试总监、阿里巴巴本地生活高级测试经理。在软件质量体系、服务容量保障、服务稳定性建设、软件研发效能等领域深耕多年善于通过创新手段解决工程难题。他也是测试行业优秀的实践者和前沿技术的传播者多次受邀参加 QCon、QECon、CCF 等行业峰会并进行演讲。有大厂专家的倾力指导大家何愁全链路压测搞不定当然要想给全链路压测增加成功的砝码还需要做好下面这些事。全链路压测的成功之道从总体上说全链路压测仍是一项复杂的系统工程需要多方面考量。作者依据多年的大厂实践经验从组织保障、工具建设、容量治理、容量规划与容量预测四个方面提出了详尽周密的建议和方案。组织保障谋事在人企业首先要为全链路压测工作搭建一个专业团队。通过工具平台、制度建设和流程规范等手段引领和联动企业的各个团队共同推动全链路压测的建设和实施。书中探讨了运维驱动的 GOCGlobal Operations Center全球运营 中心独立团队以及测试驱动的独立专项团队这两种组织形式。企业可以根据实际情况进行选择。另外书中还分享了组织在运营和管理上的一些见解对中小型企业实施全链路压测提供了思路和建议。工具建设工欲善其事必先利其器。书中首先介绍了一些主流的开源工具有链路追踪工具包括 Zipkin、Pinpoint、SkyWalking等有流量构造工具包括JMeter 、nGrinder、Gatling 等有容量监测工具包括Zabbix、Open-Falcon、Prometheus等。随后书中还对基于 JMeter 实现的分布式压测平台进行了介绍说明了自研压测工具的开发思路。最后介绍了前沿的无人值守全链路压测的技术方案。容量治理微服务运行环境复杂服务的调用链路长且涉及的环节多因此需要有专门的容量治理方法。书中先是说明了微服务架构的特点与面临的容量风险然后介绍了几种常用的容量治理手段。首先要通过容量指标分析来识别风险风险处理方法有扩容、限流、降级、熔断等。同时还要重视容灾与预案建设。容量规划与容量预测容量规划要做的是预测系统负载水平何时饱和并且最大化地节约资源。书中介绍了 4 个系统化的容量规划方法容量测量、容量预测、资源部署、容量验证。针对容量预测这一难题作者介绍了他花费一年时间研究和探索出来的基于 AI 的智能化容量预测方案对做好全链路压测分享了非常宝贵的经验。掌握了全链路压测的指导原则再做好上述四项保障建设工作相信读者们定能稳定高效地完成全链路压测活动。结语全链路压测作为一种容量保障手段可以帮助企业在应对大型在线活动时做好充分准备建立信心。但其也存在不小的实施难度而《深入浅出全链路压测》适时出现为有需要的企业和技术人提供了精准指导。本书最大的特点是理论联系实际再从实际回溯到理论。书中将理论知识与实践案例相串联深入浅出地阐释了全链路压测的理念和方法。有些读者可能最关心的是找到具体方法以解决眼前的问题但环境、业务的特点总是存在差异学习理论的妙处就在于能够抓住问题的本质找到最合适的方法。本书内容全面从全链路压测的实施步骤到各个环节的实践细节都进行了详细的说明。本书介绍了组织保障、工具建设、容量治理、容量规划与容量预测的方法为提高压测的成功率提供了极有价值的参考。书中专门有一章讲述了全链路压测的4个真实案例包括某大厂的“双11”大促活动的容量保障、初创企业的全链路压测建设、商业银行的实践、全链路压测与混沌工程的融合。这些案例可以启发读者思考结合自身业务实际找到实践之道。全链路压测活动涉及人员广泛技术人都应该阅读这本书明白其道理以及自己应当额外具备的技能如架构师、研发人员、性能测试人员、运维人员、网站可靠性工程师、团队管理者、项目经理等都是本书的读者对象。最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。