jmeter 测试 dubbo服务

原由

最近抽取了项目部分功能,提供dubbo接口以供其他项目组使用,这里被别人依赖,就要负起责任啊,我们的dubbo服务能支撑多少并发,有多大吞吐量呢。

jmeter

很多人应该都比较熟悉了,就用它来告诉我们答案吧。


环境搭建

  • 下载安装
    • 下载zip,解压即可
    • 可以选择性是否配置环境变量
  • 构建dubbo服务调用工程
    • 引入pom依赖
<!--jmeter依赖的jar包-->
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_core</artifactId>
            <version>3.2</version>
            <exclusions>
                <exclusion>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-all</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-math3</groupId>
                    <artifactId>commons-math3</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-pool2</groupId>
                    <artifactId>commons-pool2</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_java -->
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>ApacheJMeter_java</artifactId>
            <version>3.2</version>
            <exclusions>
                <exclusion>
                    <groupId>commons-math3</groupId>
                    <artifactId>commons-math3</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>commons-pool2</groupId>
                    <artifactId>commons-pool2</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 更换成你自己dubbo项目服务依赖-->
        <dependency>
            <groupId>com.netease.kada.compose</groupId>
            <artifactId>kada-itemcenter-compose-api</artifactId>
            <version>${kada-compose}</version>
        </dependency>

        <!-- DubboK 这里请更换成对应dubbo依赖,这里是公司封装的dubbo-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbok</artifactId>
            <version>3.0.2.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>2.12.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>2.12.0</version>
        </dependency>
        <!-- zk -->
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
            <exclusions>
                <!-- Exclude Commons Logging in favor of SLF4j -->
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
            <exclusions>
                <!-- Exclude Commons Logging in favor of SLF4j -->
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
  • 源码
  • 打包jar
    • 直接maven install 后会有两个东西需要关注
      这里写图片描述
    • 复制到jar到jmeter lib下ext中(D:\apache-jmeter-3.3\lib\ext)
    • 负责lib到到jmeter lib下,key新建lib-ext文件夹,存放lib依赖jar
    • 配置jmeter.properties(D:\apache-jmeter-3.3\bin下),找到search_paths进行配置,默认是注释掉的,指定你项目依赖jar(search_paths=D:/apache-jmeter-3.3/lib/lib-ext;),让jmeter引入。
    • 启动jmeter
      • 这里需要注意,个人在这里卡了很久,各种启动失败,一般是项目依赖jar和jmeter所需jar冲突,
      • 去掉项目依赖中的,jmeter打头 jar包这里写图片描述,其他的具体查看启动后的log日志进行排查冲突jar
  • 使用jmeter进行测试
    • 项目启动成功后可以开心的进行测试了
    • 添加线程组
      添加线程组
    • 添加java请求
      这里写图片描述
    • 添加相关监听,选择入口类名称
      这里写图片描述
    • 运行吧
    • 这里写图片描述

总结

  • 比较简单,主要是要搭建调用dubb服务的工程,引入jmeter依赖,使用jmeter格式调用。
  • 复制处理好的jar到jmeter中
  • 处理jmeter和jar相关冲突,一般删除工程中jmeter已经有的jar就好
  • 剩下就是jmeter基本的使用了,(搜索jmeter教程就好)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值