12丨性能场景:做参数化之前,我们需要考虑什么?

在性能测试中,我们要关注的数据主要有以下几类,分别是参数化数据、监控数据和基础铺底数据。

我们今天先描述第一种参数化数据,在后面的文章中再描述其他数据。

首先我们需要了解,为什么要关注性能场景中的参数化数据呢?我以下面的两个例子说明一下。

在我的工作经历中,见过很多初级性能测试工程师不知道如何设置合理的参数化数据,以至于数据会出现这两种情况。

  1. 数据不均衡

有些人直接用同一个数据执行混合场景测试,在这种情况下对服务器的压力和真实环境下的完全不一样。有时我们不得不造很多参数化数据,也有很多工程师不考虑数据库表中的数据直方图,就直接在少量的参数化数据中创建了大量的相关记录。比如说,在电商系统中造出大量的购买记录;在银行系统中造出大量的个人流水记录。

这些都不能满足真实用户场景的需要,导致的结果就是整个测试结果都毫无意义。

  1. 参数化数据量不足

有时候,如果我们选择用非常少量的数据运行大量业务操作的场景,就会导致压力和真实生产环境完全不一致。比如说,用 100 个数据运行出上万甚至上亿的业务操作。

那么到底该怎样才能合理地设置参数化数据呢?

参数化数据的疑问

根据我的经验,在参数化测试数据的获取和考虑上,我们一般会有以下四个常见的疑问。

参数化数据应该用多少数据量?

参数化数据从哪里来?

参数多与少的选择对系统压力有什么影响?

参数化数据在数据库中的直方图是否均衡?

接下来,我们对这些问题一一做出解答。

参数化数据应该用多少数据量?

首先,参数化数据要用到多少取决于场景,举例来说,对一个压力工具线程数为 100,TPS 有 1000 的系统,如果要运行 30 分钟,则应该取得的参数化数据是下面这样的。

数据类型、限制条件和数据量计算的方式如下表所示:

img

从技术角度看,根据数据类型就可以确定应该用多少条参数化数据了。但是这样考虑就够了吗?当然是不够的。因为除了技术的限制之外,还有业务场景的需求。

根据业务场景计算参数化数据量

在性能场景中,我们需要根据实际的业务场景来分析需要用到什么样的数据,以便计算数据量。这里的数据类型包括可循环使用的数据和不可循环使用的数据。用户登录是一个在各行业中几乎都会遇到的事务,我们拿它来举例说明,下面这张图是一个用户登录的界面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值