来自极客时间中的《高楼的性能工程实战课》,
对于唯一性数据(比如用户数据)来说,我们需要使用多少参数化数据是非常容易计算
的。比如一个运行半小时的场景,TPS 如果是 100 的话,那就需要 18 万的数据量,计算
过程如下:
对于可重复使用的数据量,我们需要分析真实业务场景中是如何重复的,比如说电商系统
中商品的数据量,我们在做参数化的时候就可以重复,毕竟多个人是可以同时购买同一个
商品的。我们假设平均有 1000 个用户在 10 个商品中,那当我们有 18 万个用户时,就需
要 1800 个商品:
上述就是唯一性数据量和可重复使用数据量的计算方式。
你可能会问,如果参数化数据量太大,在压力工具中处理不了怎么办?比如说我们在用
JMeter 处理文件参数化数据时,如果参数化文件太长,会导致 JMeter 消耗更多的时间。
其实像这种参数化数据量要求多的情况,我们可以采用连接远程缓存(比如 Redis)或数
据库(比如 MySQL)的方式来做参数化。
方法一
:直接在 JMeter 中写 Beanshell 连接 Redis 取数据。
方法二
:使用 Redis Data Set 组件。
数据量
= 30
min
× 60
s
× 100
TPS
= 18
w
商品数量
= 18
w
用户
÷ 1000
用户
× 10
商品
= 1800
商品