目录
前言
- 在使用Jmeter进行性能测试时,如果并发数比较大,单台主机的配置(CPU和内存)可能无法支持,这时可以使用Jmeter提供的分布式测试的功能。
- 原理:Jmeter分布式测试时,本地jmeter作为控制机(master),其它机器做为执行机(slave)。执行时,master会把脚本发送到每台slave上,slave 拿到脚本后就开始执行。执行完成后,slave会把结果回传给master,master会收集所有slave的信息并汇总。
控制机(master)配置
- 打开apache-jmeter\bin目录里的jmeter.properties文件
- 修改remote_hosts配置,配置的是两台slave主机的ip和slave主机里安装的jmeter的端口号
执行机(slave)配置
- 打开apache-jmeter\bin目录
- 修改jmeter.properties文件,修改remote_hosts(ip是这台slave主机的ip)和server_port(默认1099,这里修改为1098),配置需与master的jmeter.properties文件保持一致
- 修改server.rmi.localport值与上面的server_port保持一致
- server.rmi.ssl.disable = true 关闭ssl验证
- 修改 jmeter.save.saveservice.response_data=true和 jmeter.save.saveservice.samplerData=true 防止响应数据为中文时,显示乱码
- 修改jmeter-server文件:RMI_HOST_DEF=-Djava.rmi.server.hostname=这台slave主机的ip
执行测试
- 启动slave:双击jmeter-server
- 启动master:可以选择单个slave执行,也可以选择执行所有
说明
- master和slave jdk和jmeter版本要保持一致
- windows系统最好关闭防火墙
- 测试前ping一下IP,看下是否ping通