背景
公司之前有个项目的微服务是做数据采集,涉及的增量数据大,打算采用消息总线来减轻该微服务的压力。因为涉及数据量大,需要几十台机子进行性能测试,现实情况无法实现。而且考虑到线上服务需要一直运行,不能进行停机维护。所以我们采用了放量测试,进行平滑升级,确保了线上运行正常稳定。这里总结下基于服务端的放量测试策略。
什么是放量测试
- 放量测试可以理解为上线后通过Nginx负载均衡或流量控制策略,按比例逐步把流量数据分配到新版本服务上,直到权重百分百分配到新版本,然后确保旧版本服务上没有运行的数据再进行回收。
- 放量权重比例:1%->10%->50%->60%->70%->80%->90%->100%
放量测试的价值
- 保障新版本业务的正确性,确保业务场景不出现问题。
- 保障新版本业务的稳定性,能够长时间稳定运行。
- 保障新版本业务的高并发,提高系统的性能。
放量测试策略
我们根可以据每次调配的流量权重比例来确定不同测试阶段的测试策略。
1. 放量比例:1%->10%阶段
- 进行业务功能流程的校验。
- 启动配置项的校验。
- 比例 1%运行正常,再调到10%运行。
2. 放量比例:10%->50%->60%->70%->80%阶段
- 每次比例上调都延长运行时间,比如10%运行1小时,调到50%可运行半天。
- 出现内存溢出等问题,可以调回上个比例,知道问题解决再进行放量。
3. 放量比例:80%->90%->100%阶段
- 通过日志观察旧版本服务无运行数据,再删除旧版本服务。
- 放量比例100%后可以运行一两天,放量测试才结束。
评论区