1.2.3 流量回放
集群缩放压测只能作为技术人员简单用来摸底系统服务容量的手段,不能满足人们对系统整体容量评估的要求。于是,人们又提出了另一种手段—流量回放,它的做法是先将用户的真实请求记录下来,再将请求的TPS/QPS放大一定倍数后重新执行请求,达到压测的目的。注,TPC(Transaction Per Second,每秒处理的消息数),QPS(Queries Per Second,每秒查询率)。
与集群缩放压测类似,流量回放同样基于用户的真实请求,不需要准备压测脚本和压测数据。我们可以通过调整TPS/QPS倍数来灵活控制压测量,这是流量回放最大的优势。不过,与集群缩放压测不同,流量回放重新执行了一遍请求,我们需要确保请求是“无副作用的”,即不会修改或新增数据,否则会导致数据被污染。因此,流量回放通常只适用于系统部分无状态的“读请求”,无法应用在“写请求”上。
尽管如此,流量回放依然是一种进步很大的实践,在某些“读场景”较多的业务链路压测工作中,它的应用比较广泛。