全链路压测实施步骤
1、全链路压测方案确定
2、压测集群研究、场景选择设计、脚本开发
3、微服务改造(基础中间件、框架)
4、线下验证
5、数据工厂数据准备
6、小流量下发验证
7、大流量压测、系统监控、水位监控
8、扩容/调优选择
全链路压测的难点
业务模型梳理:将核心业务和非核心业务进行拆分,确认流量高峰针对的是哪些业务场景和模块。
数据模型构建:数据的真实性和可用性
压测工具选型
协调压测资源:压测软硬件资源、人力资源
压测数据监控:实时监控整个线上环境的实时情况
水位监测:全链路压测一旦影响线上的健康度,需要分辨并及时干预流量下发,终止压测。
优化单一系统性能
优化关联路径
优化业务流程
扩容
全链路压测三大前提
- 压测标记不丢失;整条业务链路,压测标识可以透传下去。
- 压测流程不中断;使用压测流量,执行业务流程,可以正常推进下去。
- 压测数据不污染;压测数据不对线上业务,造成数据污染。
全链路下的微服务改造(解法)
压测标记不丢失
1、压测入口处:http入口增加压测标识(header)
2、微服务端上入口:使用公共拦截器获取压测标识
3、微服务中传递:使用tracer传递
4、队列/消息中间件:自定义consumer,接收并传递压测标识tracer。
压测流程不中断
引入mock