火爆全网,性能测试-全链路压测实战总结,从需求到实战...


前言

流程导图

请添加图片描述

梳理阶段

系统服务梳理
全链路压测是一个很复杂的工程,其中涉及到多个服务。对整个业务系统进行梳理,确认流量传递的上下游和范围,是首先要做的事情。

核心链路梳理
什么是核心链路?
现在来看,依然是一个艰难的选择。压测团队在梳理核心链路时,主要从如下几方面来评估:
1)是否是高频访问业务;
2)是否是强依赖的核心环节;
3)是否直接影响生产的交易业务;
4)参考生产实际的QPS指标为维度;

外部依赖梳理
确定核心链路后,要对其外部依赖进行进行梳理(比如第三方支付)。由于全链路压测在生产环境进行,因此需要对外部依赖进行mock处理,避免对生产服务造成影响。

中间件梳理
为了避免压测流量对生产造成影响,产生脏数据,需要对整个流量传递过程中涉及的中间件进行梳理,让压测流量透传落影子库。

压测流量模拟在请求网关接口时候在header中带上:x-infr-flowtype=PT,各个中间件路由逻辑如下:

mysql:影子库;
redis:影子key,前缀ptshadow_;
mongodb:影子collection,前缀ptshadow_;
kafka:不分topic,下游路由会进行相应路由;
rocketmq:不分topic,下游路由会进行相应路由;
hbase:影子namespace,前缀ptshadow_;
elasticsearch:影子索引,前缀ptshadow_;
分布式锁fusion-distributed-locks:影子key,前缀ptshadow;

准备阶段

接入fusion框架
全链路压测基于fusion,所有中间件和规范必须按fusion统一规范使用。

流量模型梳理
流量模型,也可以称之为流量漏斗。即外部流量从网关入口开始,在每个调用链路上的变化比例。

mock模块配置
对于外部依赖调用的链路,通过mock手段,进行对应的处理。

影子中间件建立
在梳理阶段对所有的中间件梳理完成后,即可根据规范进行对应的中间件建立。

测试环境验证
完成上述步骤,需要在测试环境验证mock配置、流量标数据落影子库的正确性。

仿真环境验证
测试环境验证通过后,接入仿真环境,进行联调验证,确保没问题,才能开始进入压测阶段。

预热阶段

测试用户生成
由于全链路压测的特殊性,因此需要造一批专门用来压测的user数据。

测试数据准备
测试数据包含基础数据和参数化数据(压测请求传参所用),我们的解决方案是通过定时的job来迁移生产数据并进行脱敏。

外部服务关闭
由于全链路压测的特殊性,因此在压测开始前,都会对外部服务进行服务注册下线,保证压测的流量不会影响生产业务。

分支代码发布
全链路压测是需要进行多轮的,这个过程中每次优化都可能涉及到代码变更,因此在压测开始前,需要确认最新的优化代码分支发布到了仿真环境。

网络隔离检查
同样,由于环境的特殊性,压测前需要对各服务的隔离情况进行确认,避免影响生产业务。

实施阶段

单机单接口基准
单机单接口的基准压测是必不可少的环节。通过单机单接口压测,可以快速排查出被测链路本身的性能问题,这样有助于后续全链路压测的开展和性能瓶颈定位排查。

单机混合链路
混合链路压测的目的,在于验证被测服务本身的最大容量和安全水位,为全链路压测以及上线容量评估,提供参考依据。

全链路压测演练
全链路压测,是互联网企业系统稳定性的重要保障手段。

脉冲摸高测试
摸高压测,目的是为了验证当前系统的最高性能表现,便于评估线上扩容,留有冗余空间。

限流功能演练
限流熔断,是服务可用性的重要保障手段。我们采用的技术框架是sentinel集群限流功能,并对单机、集群限流功能进行了演练,确保功能的可用性。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要心中有梦想,就别停下脚步;只要坚持不懈,终将迎来成功的曙光。每一份努力都值得被尊重,每一次奋斗都值得被肯定。无论前路如何,都要勇往直前,不断追求自己的目标,成为更好的自己。

只要你仍有呼吸,就该不断向前。不要抱怨困难,因为正是它锤炼了你。迎难而上,抓住每一个机会,相信自己,你一定能创造属于自己的辉煌!

人生短暂,时间宝贵,珍惜每一刻,打破懒散心态,勤奋努力,追求自己的梦想和目标,即使道路崎岖也要坚持不懈,相信自己,超越自我,才能成就更加美好的未来。

猜你喜欢

转载自blog.csdn.net/shuang_waiwai/article/details/130949125