Jmeter分布式测试dubbo接口2

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

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

添加csv config

修改我们写死的beanshell脚本

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

在jmeter里单机运行一下

接下来我们来实现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,如果出现以下画面,就证明配置正确。

 

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

 

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

 

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

 

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

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

 

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

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

 

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

 

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

 

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

 

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

启动server slave

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

 

点击在远端运行

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

作  者:Testfan Chris

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

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

原文地址:https://www.cnblogs.com/testfan2019/p/11120383.html