dubbo入门实例及性能测试

来源:互联网 发布:java jdbc delete 编辑:程序博客网 时间:2024/05/16 06:58

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");        }


                                             
0 0
原创粉丝点击