dubbo接口测试_Jmeter分布式测试dubbo接口2

上次我们将dubbo接口与jmeter集成起来,但是jmeter是由java实现的,本身有很多限制,无法实现高并发,我们需要借助分布式来实现大压力测试。

在上次的例子中,我们只是实现了简单的dubbo接口测试,下面我们来实现参数化,我们先创建一个txt,并在里面添加入参及出餐:

00f3b235a838d6593f3dc65f9ddafdbd.png

添加csv config

ca02b84ef2672528cd934e525a04b825.png

修改我们写死的beanshell脚本

1c3896a6d48809cafebb561de15ee0b1.png

在修改脚本之后我们来添加一个beanshell断言

f7e0e8f48cba94e38f4ecb3352f15231.png

在jmeter里单机运行一下

b59f6a0f5a16e41b4e9ed20876ed4d04.png

d93689ad16fbf6138bf3ba9f8ce4d9c8.png

接下来我们来实现jmeter分布式运行,在实现分布式的时候,我们需要区分两个概念,控制端(Controller)和远程执行端(server_slave)。很简单,控制端用来控制脚本执行,而实际的执行由远程执行端来运行。

在配置客户端与远程执行端之前,我们需要在每个安装jmeter的机器上配置jdk环境变量与jmeter环境变量。

Jdk环境变量:

右键计算机属性---》高级系统设置---》环境变量---》

变量名:JAVA_HOME

变量值:C:Program FilesJavajdk1.8.0_91 (即jdk安装的位置)

变量名:Path (这个变量名已在系统变量中存在,现只需在这个值的后面添加以下变量值就可以了)

变量值:;%JAVA_HOME%in;%JAVA_HOME%jrein;

变量名:CLASSPATH

变量值:.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;(记住前面的.)

打开cmd,输入java -version 回车,如果输出版本信息则安装成功,提示不是内部或外部命令则表示没有安装成功,可留言或自行百度解决。

Jmeter 安装

由于此软件是绿色版本,所以可解压在任意位置使用,解压后打开Jmeter目录.

右键计算机属性---》高级系统设置---》环境变量---》

变量名:JMETER_HOME

变量值:C:Program Filesapache-jmeter-3.2

变量名:Path (在后面添加以下变量值)

变量值:;%JMETER_HOME%in;

变量名:CLASSPATH

变量值:

%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;

同样的,在cmd里运行jmeter,如果出现以下画面,就证明配置正确。

1ddb919130b41712684b47067ac58c23.png

配置server_slave,在server slave上的jmeter/bin下面打开jmeter.properties

fc0c097181cc98338b673e68ec1a1ff6.png


可以通过修改server port 为server slave修改监听端口

78e64e01f53a95e49807aaf36d7d05b2.png

配置controller,打开controller上的jmeter/bin文件夹下的jmeter.properties

143a7d55f3938ac68149c2546de39ae2.png

配置好之后,我们先启动server slave

01180150dacfcd00fd3a349388c9d084.png

在启动server slave的时候有时候会发现以下报错

5d48a943d97cb3a9cc13355c46859980.png

在这里我们有两种解决方式

1, 在所有jmeter上进行设置,打开jmeter.properties,修改server.rmi.ssl.disable=true并打开配置

d05d2f9be5c202d96746db811bef5c40.png

2,在各个jmeter端实现加密,双击运行jmeter/bin 下的create-rmi-keystore.bat

867a855a8ae6679023814fafd315f818.png

在启动之后,会询问很多问题,问什么回答什么就行

9f04f1242d4b9e34191d03b9a7ad4f2d.png

最后一步输入Y生成秘钥,将成功生成的秘钥rmi_keystore.jks 复制到每台jmeter上

ad101da013af443e61ac14d2e73abef5.png

通过以上两种方式,可以正常启动server slave与controller。

启动server slave

b2402f0dfa206f31ef26485a1f769176.png

启动controller 端,并打开之前编写的测试dubbo的脚本。

345ca3738594f703dd168dc3e597a794.png

点击在远端运行

bb236bb065e81b8266400be64fbdbe87.png

d1a9ffd1f26c71b1d93d45d406a75af1.png

这样,我们的jmeter分布式测试dubbo接口就实现了(过程中牵扯到所有代码以及文件都可以在GitHub上下载到https://github.com/chrisblue0605/dubboSample),希望能帮助到大家。

作  者:Testfan Chris

出  处:微信公众号:自动化软件测试平台

版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值