在做分布式压力测试时先保证几个前提:
1、每个压力机安装了相同版本的jmeter客户端。
2、每个压力机安装了相同版本的JDK。
3、每个压力机的IP都在同一个网段内。
4、保证每个压力机的1099端口可用,或者其他端口没有被占用。
5、如果执行脚本用到第三方JAR包,需要拷贝到相应的压力机目录下。
配置说明:
在做压力测试时,一台作为控制器也可以兼压力机,其他N台电脑作为压力机。
第一步:
修改控制机的jmeter.properties配置文件。
修改内容:
remote_hosts=127.0.0.1,192.168.2.2 ( 后面接的是每一台压力机的IP地址)
server.rmi.ssl.disable=true (这一条压力机和控制机都要修改)
第二步:
启动压力机上的服务。点击运行jmeter-server.bat文件。出现以下内容表示运行成功。Windows上运行时最好使用管理员权限。否则偶然会报错。
第三步:
启动控制机,执行jmeter.bat脚本,也可以通过命令执行。在run菜单下选择要执行的策略,可以选单个压力机进行执行,也可以运行全部的压力机。
通过命令执行:
#-r 表示运行全部的压力机
jmeter -n -t C:\WMS相关5.jmx -r -l jmeter_wms_2.jtl -e -o jmter_wms_3
#-R 后面接压力服务器表示执行指定的压力机
jmeter -n -t C:\WMS相关5.jmx -R 192.168.2.2 -l jmeter_wms_1.jt2 -e -o jmter_wms_2
关于Jmeter端口的说明:
1)Jmeter使用的端口号
Jmeter/RMI需要建立一个从主机器到从机器的连接,默认使用1099端口。
Jmeter/RMI也需要建立一个从从机器到主机器的连接,目的是从从机器返回测试采样结果给主机器。这个端口一般是一个更高的端口号。这个端口号可以通过 jmeter.properties的 client.rmi.localport 属性来配置, 默认该值是0,表示端口号随机分配。
如果在主机器和从机器之间有防火墙或者其他的网络过滤器,我们需要保证它们允许上面连接的建立。
2)更换使用的端口号
默认情况下,Jmeter使用标准RMI端口号1099。参见 jmeter.properties 中的配置。
# RMI port to be used by the server (must start rmiregistry with same port)
#server_port=1099
如果1099号被占用,想更换一个端口号,分为两步
步骤一:更新 SERVER_PORT值,然后重新启动 Jmeter从机器。比如更换为1664端口。
步骤二:主机器重新设置remote_hosts
打开主机器 jmeter.properties文件,编辑 remote_hosts 值类似 server:1664