第71期:《深入浅出全链路压测》

第71期:《深入浅出全链路压测》-SpringForAll社区
第71期:《深入浅出全链路压测》
此内容为付费阅读,请付费后查看
40积分
付费阅读

何为“容量保障的珠峰”?

在软件性能测试领域,有一项测试活动以其实施难度之大、技术综合性之强、涉及范围之广,被称为性能测试的“珠穆朗玛峰”,这就是实现容量保障技术的全链路压测
全链路压测的理念,就是对系统很有可能出现的流量峰值,通过技术手段在生产环境上“模拟”出来。它的核心诉求是验证系统整体是否能承载预估的峰值流量,做好全链路压测可以带来非凡的价值。
首先是保障了系统的容量安全和稳定性,其次是提高了系统的服务治理和架构设计水平,最后是提升了团队的技术水准与应变能力。阿里为双 11 大促做了全链路压测最早的探索,细节公开后即成为业界效仿的对象。
具体来说,“容量保障的珠峰”在实施时会遇到如下挑战:

· 必须在生产环境中实施,这就不能对现有业务产生影响。

· 涉及面广,至少要将核心业务流程所涉及的链路都纳入测试范围。在规模较大的系统中,会涉及成百上千项服务。

· 技术复杂,从基础设施到系统业务,都要围绕全链路压测配合改造。

· 人员素质要求高,参与人员要熟知系统调用链路,具备性能分析和调优技术。

这些挑战好像哪一个都不好解决?好消息!最近出版的新书《深入浅出全链路压测》就把全链路压测从理论到实践说了个透彻。

d2b5ca33bd20240514100746

 

我们先来看下做好全链路压测有哪些步骤。

全链路压测要这么做

在执行全链路压测活动之前,要做好相应的技术准备工作。
首先是压测数据隔离,即将真实业务数据与测试数据区分开,有逻辑隔离和物理隔离两种方式。然后是中间件改造和应用服务改造,再对压测流量构造工具进行选型。最后是确定对哪些容量指标进行监控。
准备工作做好后,下一步就是进入执行过程,大体上可以分为事前方案、事中盯盘、事后分析三大块。这三大块又可以细分为六个具体的步骤:

· 第一步:压测方案设计,主要工作是明确目标、制定计划、备好预案。

· 第二步:压测方案评审,集思广益,研发人员与测试人员共同参与,查漏补缺。

· 第三步:压测准备,准备数据、调试脚本、部署测试工具等。

· 第四步:压测执行,逐步上量,严密监测,发现异常及时止损。

· 第五步:结果反馈,分析总结压测过程中产生的各项指标数据,编写压测报告。

· 第六步:持续跟进,对暴露的问题进行改进,并在下一次压测活动中验证。

d2b5ca33bd20240514100545

全链路压测活动看来并不神秘,只要按照这六步进行,就能有条不紊地展开。作者吴骏龙创作本书的最大初衷,也是为了让全链路压测技术“平民化”、实用化,将各项工作系统总结出来,既能让没有经验的技术人员快速上手,又能为从事此工作的专业人士带来更多启示。
吴骏龙是某大型互联网公司质量与效能团队技术总监、腾讯云“最具价值专家”,曾任 Wish 中国测试总监、阿里巴巴本地生活高级测试经理。在软件质量体系、服务容量保障、服务稳定性建设、软件研发效能等领域深耕多年,善于通过创新手段解决工程难题。
他也是测试行业优秀的实践者和前沿技术的传播者,多次受邀参加 QCon、QECon、CCF 等行业峰会并进行演讲。有大厂专家的倾力指导,大家何愁全链路压测搞不定?
当然,要想给全链路压测增加成功的砝码,还需要做好下面这些事。

全链路压测的成功之道

从总体上说,全链路压测仍是一项复杂的系统工程,需要多方面考量。作者依据多年的大厂实践经验,从组织保障、工具建设、容量治理、容量规划与容量预测四个方面提出了详尽周密的建议和方案。

组织保障

谋事在人,企业首先要为全链路压测工作搭建一个专业团队。通过工具平台、制度建设和流程规范等手段,引领和联动企业的各个团队,共同推动全链路压测的建设和实施。
书中探讨了运维驱动的 GOC(Global Operations Center,全球运营中心)独立团队,以及测试驱动的独立专项团队这两种组织形式。企业可以根据实际情况进行选择。
另外,书中还分享了组织在运营和管理上的一些见解,对中小型企业实施全链路压测提供了思路和建议。

工具建设

工欲善其事,必先利其器。书中首先介绍了一些主流的开源工具,有链路追踪工具,包括 Zipkin、Pinpoint、SkyWalking等;有流量构造工具,包括JMeter、nGrinder、Gatling 等;有容量监测工具,包括Zabbix、Open-Falcon、Prometheus等。
随后,书中还对基于 JMeter 实现的分布式压测平台进行了介绍,说明了自研压测工具的开发思路。最后,介绍了前沿的无人值守全链路压测的技术方案。

容量治理

微服务运行环境复杂,服务的调用链路长且涉及的环节多,因此需要有专门的容量治理方法。书中先是说明了微服务架构的特点与面临的容量风险,然后介绍了几种常用的容量治理手段。
首先,要通过容量指标分析来识别风险,风险处理方法有扩容、限流、降级、熔断等。同时还要重视容灾与预案建设。

容量规划与容量预测

容量规划要做的是预测系统负载水平何时饱和,并且最大化地节约资源。书中介绍了 4 个系统化的容量规划方法:容量测量、容量预测、资源部署、容量验证。
针对容量预测这一难题,作者介绍了他花费一年时间研究和探索出来的基于 AI 的智能化容量预测方案,对做好全链路压测分享了非常宝贵的经验。
掌握了全链路压测的指导原则,再做好上述四项保障建设工作,相信读者们定能稳定高效地完成全链路压测活动。

结语

全链路压测作为一种容量保障手段,可以帮助企业在应对大型在线活动时做好充分准备,建立信心。但其也存在不小的实施难度,而《深入浅出全链路压测》适时出现,为有需要的企业和技术人提供了精准指导。
本书最大的特点是理论联系实际,再从实际回溯到理论。书中将理论知识与实践案例相串联,深入浅出地阐释了全链路压测的理念和方法。
有些读者可能最关心的是找到具体方法以解决眼前的问题,但环境、业务的特点总是存在差异,学习理论的妙处就在于能够抓住问题的本质,找到最合适的方法。
本书内容全面,从全链路压测的实施步骤到各个环节的实践细节,都进行了详细的说明。本书介绍了组织保障、工具建设、容量治理、容量规划与容量预测的方法,为提高压测的成功率提供了极有价值的参考。
书中专门有一章讲述了全链路压测的4个真实案例,包括某大厂的“双11”大促活动的容量保障、初创企业的全链路压测建设、商业银行的实践、全链路压测与混沌工程的融合。这些案例可以启发读者思考,结合自身业务实际找到实践之道。
全链路压测活动涉及人员广泛,技术人都应该阅读这本书,明白其道理以及自己应当额外具备的技能,如架构师、研发人员、性能测试人员、运维人员、网站可靠性工程师、团队管理者、项目经理等,都是本书的读者对象。
《深入浅出全链路压测》为技术人铺下了攀登容量保障“珠穆朗玛峰”的阶梯!

社区赠书

本次福利将送出:《深入浅出全链路压测》* 10 ,点击链接也可优惠购买

截止时间还需要支付积分,就还有赠书额度,先到先得

领取方式

  1. 支付积分即可兑换,复制“ 积分支付订单号 ”
  2. 在本站中私信我这些内容:积分支付订单号、活动书名、快递信息(姓名、电话、地址)

没有积分怎么办?

社区鼓励高质量的技术交流,所以只要发布有价值内容均可获得积分!

哪些内容算高质量?

1. 高质量的技术分享,原创、翻译、转载均可

2. 高质量的提问与回答,注意阅读《提问的艺术》

3. 分享优质Java与Spring的相关开源项目

另外,内容不错,获得精华贴、或者热门帖还有额外加分哦

THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容