全链路压测的实施和方案

全链路压测实施步骤

1、全链路压测方案确定

2、压测集群研究、场景选择设计、脚本开发

3、微服务改造(基础中间件、框架)

4、线下验证

5、数据工厂数据准备

6、小流量下发验证

7、大流量压测、系统监控、水位监控

8、扩容/调优选择

全链路压测的难点

业务模型梳理:将核心业务和非核心业务进行拆分,确认流量高峰针对的是哪些业务场景和模块。

数据模型构建:数据的真实性和可用性

压测工具选型

协调压测资源:压测软硬件资源、人力资源

压测数据监控:实时监控整个线上环境的实时情况

水位监测:全链路压测一旦影响线上的健康度,需要分辨并及时干预流量下发,终止压测。

优化单一系统性能

优化关联路径

优化业务流程

扩容

全链路压测三大前提

  • 压测标记不丢失;整条业务链路,压测标识可以透传下去。
  • 压测流程不中断;使用压测流量,执行业务流程,可以正常推进下去。
  • 压测数据不污染;压测数据不对线上业务,造成数据污染。

全链路下的微服务改造(解法)

压测标记不丢失

1、压测入口处:http入口增加压测标识(header)

2、微服务端上入口:使用公共拦截器获取压测标识

3、微服务中传递:使用tracer传递

4、队列/消息中间件:自定义consumer,接收并传递压测标识tracer。

压测流程不中断

引入mock

文件类接口通过自定义文件工厂处理转换(例如文件接口的对账单)

压测数据不污染

1、通过备份还原模式(互联网7*24不合适)

2、影子表——影子表改造策略

zdal:调整zdal的分表规则配置,通过设置groovy脚本的分表规则,来支持影子表。

Mybatis:自定义mybatis interceptor接口,修改拦截器实现影子表。

3、全链路平台设计思路

4、下面是一些压测平台

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值