如何构造压测流量

全链路压测需要最大程度的模拟正式业务环境下的流量,我们需要考虑到几个问题,比如请求数据如何构造,以及请求数据的多样化等。

举个例子,我们压测【下单】链路,需要尽可能模拟真实用户的下单情况,比如流量要与真实用户分布类似来自全国各地,以及购买各式各样的商品,还有访问下单的不同渠道,有时候甚至需要考虑用户的终端设备等。目前数列科技ForceCop在构造压测流量主要有两种方式:

1. 第一种人工构造

压测并发量不大的时候,比如并发只有几百,这种情况建议通过编写sql从数据库中导出一批线上数据,然后对这批数据进行清洗,去除敏感信息,比如客户地址、客户账号等信息,然后根据数据去准备压测脚本。
当压测并发量很大,比如并发上万,此时建议通过将数据同步到大数据平台,通过MapReduce任务的方式去清洗、导出数据。
可能有人会问为什么选择从线上环境导出压测数据呢?因为真实业务数据代表的是真实发生的业务,数据之间的关系也已经生成,通过这种方式构造的压测数据能够最真实地还原业务场景并且构造数据的效率也能够大大提升。


2. 第二种录制回放

录制回放就是收集某个时间段的正常业务数据,然后通过清洗敏感信息,最后加上压测标记去运行,达到最高程度的模拟正式业务场景,确保数据的真实性、多元化,以及场景覆盖的完整性。

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

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

(0)
上一篇 2021年4月20日 下午8:18
下一篇 2021年4月21日 下午5:58

相关推荐

发表评论

登录后才能评论

评论列表(1条)