LoadRunner長連線效能測試指令碼

idba發表於2009-10-02

最近寫了個伺服器程式,與客戶端採用socket長連線,想用LoaderRunner做效能測試。以前沒弄過,不知道該如何寫,到google和baidu上竟然查不到,不知道是太簡單了呢,還是沒有人這麼做,鬱悶。

那就自力更生吧,研究了一下lr,原來lr支援類c指令碼(據說最新版支援類java指令碼),那就簡單了唄,順手寫一個,如下:

Action()

{

    lrs_create_socket("socket0", "TCP", "RemoteHost=192.168.37.22:8900",  LrsLastArg);

    lr_start_transaction("CA");

    lrs_send("socket0", "buf0", LrsLastArg);

    lrs_receive("socket0", "buf1", LrsLastArg);

    lr_end_transaction("CA", LR_PASS);


    //think time

    lr_think_time(0.3);

    while(1)

     {

         lr_start_transaction("CA");

         lrs_send("socket0", "buf2", LrsLastArg);

         lrs_receive("socket0", "buf3", LrsLastArg);

         lr_end_transaction("CA", LR_PASS);

         //think time

         lr_think_time(0.3);

    }

    return 0;

}

不要忘了在data.ws中填上資料。例如:

;WSRData 2 1

send  buf0 94

       "00000001100100000074{001=01}{002=20080731171525}{003=127.0.0.1}{007=001}{005=123456}{006=8888}"

recv  buf1 75

       "00000001100200000060{001=02}{002=2008081117040812850}{003=19.37.37.21}{007=0999}"

send  buf2 63

       "00000001103000000043{001=30}{002=20080731171525}{003=127.0.0.1}"

recv  buf3 75

       "00000001103100000055{001=31}{002=20080812162829}{003=19.37.37.21}{007=0000}"

-1

注意:buf後面的長度必須正確。

模擬執行測試一下指令碼,執行通過。

最後使用該指令碼定義測試場景,測試得到結果為TPS:2000。成功完成測試目標。

   

    順便提一下,上面使用了一個while迴圈,實際測試時可以不做迴圈,在場景中設定迭代方式和次數等。


本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/seeme007/archive/2008/09/11/2913806.aspx

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1384/viewspace-615951/,如需轉載,請註明出處,否則將追究法律責任。

相關文章