前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何攀上容量保障的珠峰?讲透全链路压测!

如何攀上容量保障的珠峰?讲透全链路压测!

作者头像
程序猿DD
发布2024-05-18 09:14:38
1020
发布2024-05-18 09:14:38
举报
文章被收录于专栏:程序猿DD程序猿DD

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

在软件性能测试领域,有一项测试活动以其实施难度之大、技术综合性之强、涉及范围之广,被称为性能测试的“珠穆朗玛峰”,这就是实现容量保障技术的全链路压测

全链路压测的理念,就是对系统很有可能出现的流量峰值,通过技术手段在生产环境上“模拟”出来。它的核心诉求是验证系统整体是否能承载预估的峰值流量,做好全链路压测可以带来非凡的价值。

首先是保障了系统的容量安全和稳定性,其次是提高了系统的服务治理和架构设计水平,最后是提升了团队的技术水准与应变能力。阿里为双 11 大促做了全链路压测最早的探索,细节公开后即成为业界效仿的对象。

具体来说,“容量保障的珠峰”在实施时会遇到如下挑战:

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

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

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

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

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

点击下方,即可购书

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

全链路压测要这么做

在执行全链路压测活动之前,要做好相应的技术准备工作。

首先是压测数据隔离,即将真实业务数据与测试数据区分开,有逻辑隔离和物理隔离两种方式。然后是中间件改造和应用服务改造,再对压测流量构造工具进行选型。最后是确定对哪些容量指标进行监控。

准备工作做好后,下一步就是进入执行过程,大体上可以分为事前方案、事中盯盘、事后分析三大块。这三大块又可以细分为六个具体的步骤:

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

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

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

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

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

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

全链路压测活动看来并不神秘,只要按照这六步进行,就能有条不紊地展开。作者吴骏龙创作本书的最大初衷,也是为了让全链路压测技术“平民化”、实用化,将各项工作系统总结出来,既能让没有经验的技术人员快速上手,又能为从事此工作的专业人士带来更多启示。

吴骏龙是某大型互联网公司质量与效能团队技术总监、腾讯云“最具价值专家”,曾任 Wish 中国测试总监、阿里巴巴本地生活高级测试经理。在软件质量体系、服务容量保障、服务稳定性建设、软件研发效能等领域深耕多年,善于通过创新手段解决工程难题。

他也是测试行业优秀的实践者和前沿技术的传播者,多次受邀参加 QCon、QECon、CCF 等行业峰会并进行演讲。有大厂专家的倾力指导,大家何愁全链路压测搞不定?

当然,要想给全链路压测增加成功的砝码,还需要做好下面这些事。

全链路压测的成功之道

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

组织保障

谋事在人,企业首先要为全链路压测工作搭建一个专业团队。通过工具平台、制度建设和流程规范等手段,引领和联动企业的各个团队,共同推动全链路压测的建设和实施。

书中探讨了运维驱动的 GOC(Global Operations Center,全球运营中心)独立团队,以及测试驱动的独立专项团队这两种组织形式。企业可以根据实际情况进行选择。

另外,书中还分享了组织在运营和管理上的一些见解,对中小型企业实施全链路压测提供了思路和建议。

工具建设

工欲善其事,必先利其器。书中首先介绍了一些主流的开源工具,有链路追踪工具,包括 Zipkin、Pinpoint、SkyWalking等;有流量构造工具,包括JMeter、nGrinder、Gatling 等;有容量监测工具,包括Zabbix、Open-Falcon、Prometheus等。

随后,书中还对基于 JMeter 实现的分布式压测平台进行了介绍,说明了自研压测工具的开发思路。最后,介绍了前沿的无人值守全链路压测的技术方案。

容量治理

微服务运行环境复杂,服务的调用链路长且涉及的环节多,因此需要有专门的容量治理方法。书中先是说明了微服务架构的特点与面临的容量风险,然后介绍了几种常用的容量治理手段。

首先,要通过容量指标分析来识别风险,风险处理方法有扩容、限流、降级、熔断等。同时还要重视容灾与预案建设。

容量规划与容量预测

容量规划要做的是预测系统负载水平何时饱和,并且最大化地节约资源。书中介绍了 4 个系统化的容量规划方法:容量测量、容量预测、资源部署、容量验证。

针对容量预测这一难题,作者介绍了他花费一年时间研究和探索出来的基于 AI 的智能化容量预测方案,对做好全链路压测分享了非常宝贵的经验。

掌握了全链路压测的指导原则,再做好上述四项保障建设工作,相信读者们定能稳定高效地完成全链路压测活动。

结语

全链路压测作为一种容量保障手段,可以帮助企业在应对大型在线活动时做好充分准备,建立信心。但其也存在不小的实施难度,而《深入浅出全链路压测》适时出现,为有需要的企业和技术人提供了精准指导。

本书最大的特点是理论联系实际,再从实际回溯到理论。书中将理论知识与实践案例相串联,深入浅出地阐释了全链路压测的理念和方法。

有些读者可能最关心的是找到具体方法以解决眼前的问题,但环境、业务的特点总是存在差异,学习理论的妙处就在于能够抓住问题的本质,找到最合适的方法。

本书内容全面,从全链路压测的实施步骤到各个环节的实践细节,都进行了详细的说明。本书介绍了组织保障、工具建设、容量治理、容量规划与容量预测的方法,为提高压测的成功率提供了极有价值的参考。

书中专门有一章讲述了全链路压测的4个真实案例,包括某大厂的“双11”大促活动的容量保障、初创企业的全链路压测建设、商业银行的实践、全链路压测与混沌工程的融合。这些案例可以启发读者思考,结合自身业务实际找到实践之道。

全链路压测活动涉及人员广泛,技术人都应该阅读这本书,明白其道理以及自己应当额外具备的技能,如架构师、研发人员、性能测试人员、运维人员、网站可靠性工程师、团队管理者、项目经理等,都是本书的读者对象。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿DD 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档