Jmeter是纯Java开发的开源性能测试工具, Java程序是很吃内存的, 有时候一台负载机给服务器的压力是不够的, 需要很多台同时负载, 这个时候就需要用到分布式了.
1. 组网图大概就是这样的
2. Jmeter Server: 分别在多台负载机上面安装Jmeter, 进入bin目录, 启动jmeter-server/jmeter-server.bat ,启动后会有个IP和端口
如果启动报错, 比如java.io.FileNotFoundException: rmi_keystore.jks
解决方法: bin目录下打开jmeter.properties, 修改server.rmi.ssl.disable=true后重启Jmeter Server即可
3. Jmeter Controller: bin目录下打开jmeter.properties, 修改remote_hosts=192.168.245.1:58427,192.168.245.1:58428,... 加上server机器的IP和端口, 多个server机之间用逗号","隔开. 重启Jmeter Controller.
4. 这样Jmeter Controller可以控制所有server了, Run--> Remote start(选择指定server机)/Remote Start All(直接启动所有的server机), Controller会将测试脚本下发到启动的所有server执行, 并收集所有的server机数据汇总
推荐使用命令行执行:jmeter -n -t <test JMX file> -R <IP1:PORT1,IP2:PORT2...> -l <test log file> -e -o <Path to output folder>