loadrunner之Paramater在负载测试中的数据生成规则

前段时间在做性能测试的时候,基于业务的需求,使用到了Unique Number的参数类型。

脚本的业务是注册以alien开头,后面接数字的用户帐号,填写相关帐号信息、提交企业信息进行审核。

其中用户帐号是alien开头拼接一个唯一数字的参数,如图:

下面对Unique Number进行相关解释,先引用官方资料:(相信大家也理解这段话的意思)

Unique Number: Assigns a range of numbers to be used for each Vuser. You specify the start value and the block size (the amount of unique numbers to set aside

for each Vuser). For example, if you specify a start value of 1 and a block size of 100 the first Vuser can use the numbers 1 to 100, the second Vuser can use

the numbers 201-300, etc

先用50个虚拟用户跑场景(不设置持续时间,迭代10次)来验证下这个官方解释。场景跑完后会往数据库中插入注册的数据。这样就可以用PL/SQL来进行验证。PL/SQL块内容如下:

DECLARE

RESULT VARCHAR(1024);

TYPE MYRECORD IS RECORD(

RES T_USER.FUSERID%TYPE);

REC_1 MYRECORD;

BEGIN

SELECT DECODE(MOD(MAX(TO_NUMBER(SUBSTR(FUSERID, 6, LENGTH(FUSERID)),99999999)),100),

0,

MAX(TO_NUMBER(SUBSTR(FUSERID, 6, LENGTH(FUSERID)), 99999999)) / 100,

ROUND(MAX(TO_NUMBER(SUBSTR(FUSERID, 6, LENGTH(FUSERID)),99999999)) / 100 + 0.5,0))

INTO REC_1.RES

FROM T_USER T

WHERE FUSERID IN

(SELECT A.FUSERID FROM YH_QYJCXX A WHERE A.QYMC LIKE '企业alien%');

FOR I IN 1 .. REC_1.RES LOOP

SELECT WMSYS.WM_CONCAT('alien' || SUBSTR(FUSERID, 6, LENGTH(FUSERID)))

INTO RESULT

FROM T_USER B

WHERE B.FUSERID IN

(SELECT A.FUSERID FROM YH_QYJCXX A WHERE A.QYMC LIKE '企业alien%')

AND SUBSTR(FUSERID, 6, LENGTH(FUSERID)) / 100 I - 1

ORDER BY TO_NUMBER(SUBSTR(FUSERID, 6, LENGTH(FUSERID)),99999999);

DBMS_OUTPUT.PUT_LINE('虚拟用户' || I || '产生的数据为:' || RESULT);

END LOOP;

END;

程序运行结果如下:

因为start的大小设置为1,block size per...的大小设置为100,所以虚拟用户1的起始数据是alien1,虚拟用户2的起始数据是alien101,虚拟用户3的起始数据是 alien201。。。。。。虚拟用户10的起始数据是alien490

因为Paramater是设置为每次迭代更新,在场景中迭代了10次,所以生成了alien2、alien102.....alien4902这样的数据。这样看是和官方解释一致的。

注:怀着怀疑的态度去验证,对loadrunner的相关规则和原理的深入剖析,才会理解的更加透彻。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值