loadrunner之Paramater在負載測試中的數據生成規則

    前段時間在作性能測試的時候,基於業務的需求,使用到了Unique Number的參數類型。web

    腳本的業務是註冊以alien開頭,後面接數字的用戶賬號,填寫相關賬號信息、提交企業信息進行審覈。數據庫

    其中用戶賬號是alien開頭拼接一個惟一數字的參數,如圖:ide

 

 

 

 

 

 

 

 

 

 

 

 

 

     

    下面對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
       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;

    程序運行結果以下:spa

      由於start的大小設置爲1,block size per...的大小設置爲100,因此虛擬用戶1的起始數據是alien1,虛擬用戶2的起始數據是alien101,虛擬用戶3的起始數據是alien201。。。。。。虛擬用戶10的起始數據是alien4901。由於Paramater是設置爲每次迭代更新,在場景中迭代了10次,因此生成了alien二、alien102.....alien4902這樣的數據。這樣看是和官方解釋一致的。3d

     注:懷着懷疑的態度去驗證,對loadrunner的相關規則和原理的深刻剖析,纔會理解的更加透徹。code

相關文章
相關標籤/搜索