loadrunner的java vuser協議

這段時間做一個java產品的性能測試。nosql存儲的。需要通過固定的java編寫的client向服務器發送數據。所以用loadrunner的java vuser協議嘗試進行併發。如果是破解版的loadrunner,需有將license換成100,不要用10000那個,否則不支持java。
1,新建 java vuser協議。 init和end裏的內容不用做任何修改。因爲action裏包含了這兩項
2,腳本如下:

import lrapi.lr;        //此爲loadrunner自帶的不要刪除,下面是引用定義好的類。開發會把這些類放在jar包中
import voldemort.client.ClientConfig;
import voldemort.client.SocketStoreClientFactory;
import voldemort.client.StoreClient;
import voldemort.client.StoreClientFactory;
import voldemort.versioning.Versioned;

public class Actions
{
      StoreClient<String, String> client;             //公共區域

     public int init() throws Throwable {
        String bootstrapUrl = "tcp://192.168.64.183:8003";   //只建立一次tcp連接
        StoreClientFactory factory = new SocketStoreClientFactory(new ClientConfig().setBootstrapUrls(bootstrapUrl)
        client= factory.getStoreClient("test"); 
 return 0;
}

public int action() throws Throwable {
        client.put("<key>","中國人中國人");    //循環部分,寫數據
        client.get("<key>");    //循環部分,讀數據
 return 0;
 }

public int end() throws Throwable {
 return 0;
}
}
幾點注意事項:jar包要放在vuser script的根目錄下,否則找不到
                            運行loadrunner的機器上要裝有jdk,否則java不能編譯
                            多臺客戶端同時加壓時,要將jar包每臺機器上都放一份。具體放置位可以設置系統環境變量(不過我沒設置成功),用第二種方法手工copy過去,位置可以在主vuser上的腳本文件夾中找到collate.txt文件,打開後會有其它客戶端的腳本位置,192.168.xx.xx=d:\Temp\brr_YAR.419\netdir\D\script\java\res\192.168.64.68_45.eve。將需的jar包考到d:\Temp\brr_YAR.419\netdir\D\script\java下即可。

感覺在java項目上的支持,loadrunner還是有限的。運行了幾次偶爾有出錯的現象,具說是loadrunner不支持多線程併發模式。後來在運行設置中,將線程模式改爲進程模式。運行一切正常,不過這種方式太耗資源了,只能用多臺客戶端進行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章