dubbo入门实例及性能测试

ubbo集群和非duboo(在同一jvm内运行)性能对比代码下载地址:

http://download.csdn.net/detail/lk_blog/9507435


使用实例测试注意事项:

1.下载zookeeper  地址: http://zookeeper.apache.org/releases.html

2.配置zookeeper, 解压zookeeper后,找到conf/zoo_sample.cfg,复制一份修改文件名为zoo.cfg.

3.maven构建实例中的代码.

4.运行provider.java中的main方法.

5.修改 lk-dubbo-provider工程中的applicationContext.xml文件,找到如下代码修改port端口为20881,

<dubbo:protocol name="dubbo" port="20880" />

并再启动provider.java中的main方法

此时已启动了两个集群,您还可以再次修改端口及启动provider,就会变成三个集群.

6.运行Consumer.java中的main方法启动客户端(dubbo方式运行).

客户端通过多线程发起请求10000次,服务器端处理时间如下:

7.修改lk-dubbo-consumer工程的pom.xml文件,将以下代码的注释去掉使之生效.
<dependency>
            <groupId>com.tgb.lk</groupId>
            <artifactId>lk-dubbo-provider</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>

8.按如下方式修改lk-dubbo-consumer工程的pom.xml文件.使用dubbo方式的改为直接使用spring注入方式.

 
9.再次运行Consumer.java中的main方法(此时是非dubbo方式运行).

 
测试类关键代码如下:
       //测试性能
        ExecutorService threadPool = Executors.newFixedThreadPool(10);
        int count = 10000;
        long start = System.currentTimeMillis();
        Future<Integer> future = null;
        for (int i = 1; i <= count; i++) {
            final int j = i;
            future = threadPool.submit(new Callable<Integer>() {
                public Integer call() throws Exception {
                    demoService.sayHello("tom " + j);
                    return j;
                }
            });
        }
        if (future != null && future.get() == count) {
            //远程调用完返回后记录结束时间
            long end = System.currentTimeMillis();
            System.out.println("consume time " + (end - start) + "ms");
        }


 
 

                
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值