1. 目的
总结loadrunner编写dubbo协议脚本(
有疑问的,或者想交流dubbo方面的性能测试,请加QQ群:364972546
2. 前提
1、熟悉Java语言,至少知道基本语法)
2、熟悉loadrunner基本操作、
3、熟悉dubbo框架(http://dubbo.io/)
3. 搭建dubbo服务
主要作用是熟悉dubbo调用的整个工程
1、下载dubbo小例子代码(链接:http://pan.baidu.com/s/1hse6bWS 密码:jw8v)
2、下载zookeeper-3.4软件(链接: http://pan.baidu.com/s/1boT5ka 密码: st9p)
3、下载dubbo服务管理页面项目(链接: http://pan.baidu.com/s/1o8TFXwQ 密码: yts4)
4、启动zookeeper-3.4.5服务,进入..\zookeeper-3.4.5\bin目录,执行zkServer.cmd脚本
5、ecplise导入dubbo小例子代码
6、打开dubboprovider工程的applicationContext.xml配置文件,找到
<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181" />
修改address属性值(修改为前面启动的zookeeper地址,dubboconsumer工程亦如此)程亦如此)
7、启动dubbo服务(确保启动日志无异常)
8、查看启动的dubbo服务
第一步:解压dubbo服务管理页面项目(在云盘下载)在tomcat容器中的webapps目录中,如下图:
第二步:修改dubboadmin\WEB-INF\dubbo.properties文件
第三步:启动tomcat
第四步:访问dubbo服务管理页面。输入http://localhost:8080/dubboadmin/,进入
9、调用dubbo消费者(查看调用结果)
4. 设置环境变量
编写loadrunner脚本作为dubbo消费者调用dubbo服务者(测试loadrunner脚本时,只需要启dubboprovider工程的dubbo服务)
1、打开HP Virtual User Generator界面,点击File菜单,弹出New Virtual User对话框
2、选择New Single Protocol Script图标,选择Java Vuser,点击【Create】按钮
3、点击Vuser菜单,点击Run-time Setting子菜单,弹出Run-time Setting对话框。
4、选择ClassPath菜单,上传jar文件
第一步:设置JDK目录地址
第二步:上传dubbo消费端的jar文件(在dubboconsumer\WebRoot\WEB-INF\lib目录下)即可。
5. 编写脚本
/*
* LoadRunner Java script. (Build: _build_number_)
*
* Script Description:
*
*/
import lrapi.lr;
import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.ReferenceConfig;
import com.unj.dubbotest.provider.DemoService;
public class Actions
{
//dubbo服务地址、版本号、服务名或者接口去dubbo服务管理页面取得,参考(8、查看启动的dubbo服务)
private final String ID = "ID";
//dubbo服务地址
private final String URL = "dubbo://127.0.0.1:20880";
//版本号
private final String VERSION = "1.0.0";
//服务名或者接口名
private final String SERVICE_NAME = "com.unj.dubbotest.provider.DemoService";
private Object object;
public int init() throws Throwable {
ApplicationConfig application = new ApplicationConfig();
application.setName("hehe_consumer");
ReferenceConfig reference = new ReferenceConfig();
reference.setApplication(application);
reference.setId(ID);
reference.setVersion(VERSION );
reference.setInterface(SERVICE_NAME);
reference.setUrl(URL);
object = reference.get(); //
return 0;
}//end of init
public int action() throws Throwable {
DemoService demoService = (DemoService)object;
String hello = demoService.sayHello("tom");
System.out.println(hello);
return 0;
}
public int end() throws Throwable {
return 0;
}//end of end
}