分享

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

 昵称13876790 2015-01-27
             
                loadrunner之Paramater在负载测试中的数据生成规则。前段时间在做性能测试的时候,基于业务的需求,使用到了Unique Number的参数类型。 脚本的业务是注册以alien开头,后面接数字的用户账号,填写相关账号信息、提交企业信息进行审核。
             

         



  前段时间在做性能测试的时候,基于业务的需求,使用到了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 <br>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<br>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



  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的起始数据是alien4901。因为Paramater是设置为每次迭代更新,在场景中迭代了10次,所以生成了alien2、alien102.....alien4902这样的数据。这样看是和官方解释一致的。



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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多