全链路压测是一种使用最低成本,使系统达到最确定的性能目标的方法,能够保障业务的连续性,让IT系统具备反脆弱能力和快速定位问题能力。

IT系统是工程师结合具体的业务场景基于一系列的基础组件进行编码搭建而成的,基础组件本身的局限性,以及代码的不确定性,会使整个系统存在很大的不确定性,这种不确定性会让系统在面临一系列“风险”场景(高峰场景)时,表现得很脆弱,那该如何让系统具备反脆弱能力呢?

通过生产环境全链路压测,真实模拟“风险”业务行为场景,实时监控系统表现,提前识别和快速定位系统的中的不确定因素,并对不确定因素进行处理,优化系统资源配比,使用最低硬件成本,使系统从容面对各种“风险”场景,达到预期的系统性能目标。通过这种方法,在生产环境上落地常态化稳定压测体系,实现IT系统的长期性能稳定治理。

性能测试经历了从线下到线上演变的四个阶段:

  1. 需求驱动压测阶段

需求驱动压测,大多采用简单的工具进行单接口或者单系统压测,也能进行一些简单的性能问题分析,但很多时候都没有专门的测试团队,需要开发进行自主压测。

  1. 性能回归体系阶段

组建专门的性能测试团队搭建线下性能测试质量平台,具备复杂场景全链路压测能力、性能问题定位能力。

在这一阶段有三个问题是比较有代表性:

(1)很多公司线下做了性能测试,但到了线上还是存在很多问题,以测试环境的压测结果来评估线上环境,效果不佳。

(2) 业务增长、营销活动增加使测试工程师对活动保障心里没底,每逢营销活动问题频发影响公司形象。
(3)性能压测效率无法满足增长的性能压测需求,导致部分项目没有性能压测直接上线,线上故障频发。

为了解决测试环境性能压测的不确定性,性能压测开始向生产环境进行演变,进入生产环境性能压测阶段。

  1. 生产只读业务压测阶段

在测试环境回归体系阶段上增加了生产只读业务的性能压测,对生产环境压测进行实践,搭建生产环境性能压测回归体系,具备只读业务生产压测的性能问题分析能力。

  1. 全业务全链路压测阶段

在上一个阶段的基础上增加写入业务的性能压测,进而开展对全业务实行全链路压测,具备全业务的性能压测能力、问题定位能力,做的更好一些还会增加系统防护能力,比如降级、限流、故障演练等。

文档更新时间: 2021-09-24 10:52   作者:ShuLieVip