如何构建全链路压测模型

由于使用了影子库/表的方式,即使直接使用生产环境压测也并不代表能获得与真实业务完全一致的压测环境,里面还涉及到对压测数据模型的建立,要保证压测流量和正式流量保持 “一致”,影子库/表与生产环境保持“一致”,这里的“一致”包含几个方面:

1. 数据量一致

通常是数据库,搜索索引等数据量的变化会导致响应时间变化的中间件,如果使用影子库来替代正式库,那么需要全量拷贝一份正式库的全量数据来保证压测结果,一些无法直接使用正式库数据的情况。
诸如新业务上线/正式库数据增减变化大/业务增长迅猛需要增加数据量等情况,则需要根据目标数据量以及业务特征构造压测数据来准备数据脚本。一些只读的链路涉及的库/表,可以根据压测时间/压测目的/压测量等因素评估是否可以直接使用正式库作为压测库。


2. 数据分布一致

数据在使用的时候会有频繁访问/操作的热点数据,几乎不会用到的历史归档数据。两者在mq/缓存/数据库的分布比例会影响接口的读写操作性能,需要根据生产的实际情况构建压测数据模型。


3. 数据操作一致

对于缓存,定时处理的一些数据,构造数据的时候要注意数据失效/刷新/定时处理的批次和每批数据处理量的大小。

若本文档对您有用,请为我们点个赞👍

本文来自投稿,不代表TakinTalks稳定性技术交流平台立场,如若转载,请联系原作者。

(1)
上一篇 2021年4月20日 下午5:42
下一篇 2021年4月21日 下午3:44

相关推荐

发表评论

邮箱地址不会被公开。

评论列表(1条)