现在的位置: 首页 > 综合 > 正文

loadrunner的java vuser协议

2013年10月02日 ⁄ 综合 ⁄ 共 1433字 ⁄ 字号 评论关闭

这段时间做一个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不支持多线程并发模式。后来在运行设置中,将线程模式改为进程模式。运行一切正常,不过这种方式太耗资源了,只能用多台客户端进行。

抱歉!评论已关闭.