您的位置:首页 > 编程语言 > Java开发

loadrunner的java vuser协议

2012-01-06 16:11 302 查看
这段时间做一个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不支持多线程并发模式。后来在运行设置中,将线程模式改为进程模式。运行一切正常,不过这种方式太耗资源了,只能用多台客户端进行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: