基于服务端的放量测试策略

基于服务端的放量测试策略

Administrator 17 2024-04-28

一、背景

  公司之前有个项目的数据采集微服务,涉及的增量数据越来越大,对服务压力较大,技术团队评估后打算采用消息总线来减轻该服务的压力。因为涉及数据量大,需要几十台机子进行性能测试,现实情况无法实现。而且考虑到线上服务需要一直运行,不能进行停机维护。所以我们采用了放量测试,进行平滑升级,确保了线上运行正常稳定。这里总结下基于服务端的放量测试策略

二、放量测试是什么?

  放量测试可以理解为上线后通过负载均衡或流量控制策略,按比例逐步把流量数据分配到新版本服务上,直到权重百分百分配到新版本服务,然后确保旧版本服务上没有运行的数据后,再进行实例的回收。

放量权重比例:1% → 10% → 50% → 60% → 70% → 80% → 90% → 100%
image.png

三、放量测试的价值

  1. 保障新版本业务的正确性,确保业务场景不出现问题。
  2. 保障新版本业务的稳定性,能够长时间稳定运行。
  3. 保障新版本业务的高并发,提高系统的性能。

四、放量测试策略

  我们可以根据每次调配的流量权重比例来确定不同测试阶段的测试策略。

  1. 放量比例:1% → 10% 阶段
  • 进行业务功能流程的校验。
  • 启动配置项的校验。
  • 比例1%运行正常,再调到10%运行。
  1. 放量比例:10% → 50% → 60% → 70% → 80% 阶段
  • 每次比例上调都延长运行时间,比如10%运行1小时,调到50%可运行半天。
  • 出现内存溢出等问题,可以调回上个比例,知道问题解决再进行放量.
  1. 放量比例:80% → 90% → 100% 阶段
  • 通过日志观察旧版本服务无运行数据,再回收旧版本服务实例。
  • 放量比例100%后可以运行一两天,放量测试才结束。