最好国内免费网站空间,成都网络营销策划公司,江苏运营网站建设业务,大连网站制作的公司哪家好#x1f345; 点击文末小卡片 #xff0c;免费获取软件测试全套资料#xff0c;资料在手#xff0c;涨薪更快 JMeter是Apache软件基金会的开源项目#xff0c;主要来做功能和性能测试#xff0c;用Java编写。
我们一般都会用JMeter在本地进行测试#xff0c;但是受到… 点击文末小卡片 免费获取软件测试全套资料资料在手涨薪更快 JMeter是Apache软件基金会的开源项目主要来做功能和性能测试用Java编写。
我们一般都会用JMeter在本地进行测试但是受到单个电脑的性能影响往往达不到性能测试的要求无法有效的模拟高并发的场景那么这个时候我们就可以借由JMeter提供的Romote Test来进行远程的测试。
其工作方式入下图 我们可以在多台电脑上启动JMeter的Romote Testing模式然后用某一台服务器作为Master端通过RMI控制Slave端来执行我们的测试脚本。当JMeter Slave端执行完测试脚本后会将执行结果发送回Master控制端进行汇总得出整体的测试报表。
JMeter的Romote Test模式的好处就是可以用一台终端、一个测试计划在多台服务器端同时对目标服务器进行测试并且将测试的结果回报给统一的控制终端进行汇总方便高并发的测试需求。
下面介绍下JMeter这种远程测试的使用方法。
Step 1: 在Slave端安装JMeter JMeter可以从官网下载下载地址Apache JMeter - Download Apache JMeter 由于JMeter的运行需要Java环境所以服务器端也必须安装Java。 注意为了Remote Testing模式能正常工作尽量保证Slave端和Master端的JMeter和Java版本一致。 Step 2: Slave端运行JMeter
在JMeter的bin目录下执行下面命令就可以以服务的方式启动JMeter的Slave端
jmeter-serverJMeter Slave端默认会启动RMI(Remote Method Invoke)机制RMI的默认端口为1029可以在文件jmeter.properties中进行修改。 另外从JMeter 4.0开始RMI默认会使用SSL连接为了能让Slave端和Master端正常通讯我们需要生成对应的keys和certificates。在JMeter的bin目录下自带JKS(Java KeyStore)文件生成命令。 在JMeter的bin目录下运行如下的命令并按照提示符输入相应的内容
bin % ./create-rmi-keystore.sh What is your first and last name?[Unknown]: rmiWhat is the name of your organizational unit?[Unknown]: unitWhat is the name of your organization?[Unknown]: orgWhat is the name of your City or Locality?[Unknown]: cityWhat is the name of your State or Province?[Unknown]: provWhat is the two-letter country code for this unit?[Unknown]: cnIs CNrmi, OUunit, Oorg, Lcity, STprov, Ccn correct?[no]: yesEnter key password for rmi(RETURN if same as keystore password): Re-enter new password: Copy the generated rmi_keystore.jks to jmeter/bin folder or reference it in property server.rmi.ssl.keystore.file
注意提示符里面的内容第一条的名字和最后的密码需要记录下来其他的内容可以任意填写。 例如我这里的第一条填写的name是rmi最后的密码设置为changeit如果你这里填了其他的值那么你需要将你的值写到jmeter.properties文件中分别对应两个属性 server.rmi.ssl.keystore.aliasserver.rmi.ssl.truststore.password
最后我们还需要按照提示将生成的rmi_keystore.jks文件复制到需要连接的JMeter的bin目录下。如果放到其他目录下我们需要在jmeter.properties文件中通过server.rmi.ssl.keystore.file指定.jks文件的目录。
Step 3: Master控制Slave执行测试脚本
在Slave端启动成功后我们就可以尝试在Master端进行连接控制。 首先我们需要将远程JMeter服务器Slave端的IP:Port添加到本地JMeter中方式是修改本地bin目录下的jmeter.properties文件在其中找到remote_hosts将自己的远程JMeter的host和端口添加到这里如果有多个使用,分隔。
remote_hostsserver ip:1199配置完成后我们就可以运行命令来执行我们的测试计划
./jmeter.sh -n -t test.jmx -r-r: 会控制在remote_hosts中配置的所有Slave端来执行我们的测试计划test.jmx 你也可以直接在命令行中来指定想要控制的远程JMeter的具体IP:Port命令如下
./jmeter.sh -n -t test.jmx -RIP:1099问题和解决方案 这里可能会出现很多问题下面列出一些我踩过的坑
Master报连接被拒绝这个时候你需要检查防火墙设置是否屏蔽了端口Slave端启动时你会发现每次的端口都是随机的这个可能会造成每次都需要去修改防火墙的端口策略我们可以通过修改jmeter.properties中的server.rmi.localport来设置一个固定端口号某些特殊情况也会出现客户端无法连接的问题比如有些服务器是有双网卡的这个时候我们可能就需要指定JMeter启动的服务器端的IP配置的方式是修改bin/jmeter-server文件将其中注释的一行修改如下
RMI_HOST_DEF-Djava.rmi.server.hostname1.2.3.4
这里的1.2.3.4为你要指定的网卡的IP。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走 这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。