服务端性能测试-jmeter做分布式压测

配置执行机(Agent)

安装jmeter,打开bin/jmeter.properties,将remote_hosts参数设置为本机ip并设置端口号

remote_hosts=10.10.10.11:1099

如果报错则查看1099端口是否被占用:lsof -i tcp:1099

将server.rmi.ssl.disable参数设置为true,并且取消注释

server.rmi.ssl.disable=true

启动jmeter-server脚本,创建远程对象

chmod 777 /data/test/apache-jmeter/bin/jmeter

chmod 777 /data/test/apache-jmeter/bin/jmeter-server

cd /data/test/apache-jmeter/bin

./jmeter-server -Djava.rmi.server.hostname=10.10.10.11

./jmeter-server -Djava.rmi.server.hostname=`ifconfig | grep "inet 10.10" | awk '{print $2}'`(自动获取ip)

 

配置控制机(Controller)

Controller机上需要安装JDK、Jmeter

打开bin/jmeter.properties,将remote_hosts参数需要把所有的代理机的IP地址和端口号都加入进来(包括控制机),用逗号隔开

remote_hosts=10.10.20.140:1099,10.10.10.11:1099,10.10.10.14:1099

服务端性能测试-jmeter做分布式压测

将server.rmi.ssl.disable参数设置为true,并且取消注释

server.rmi.ssl.disable=true

服务端性能测试-jmeter做分布式压测

启动jmeter-server脚本,创建远程对象,需要给jmeter-server和jmeter赋予可执行权限

chmod 777 /root/apache-jmeter/bin/jmeter-server

chmod 777 /root/apache-jmeter/bin/jmeter

cd /root/apache-jmeter/bin

./jmeter-server -Djava.rmi.server.hostname=10.10.20.140

打开jmeter可视化界面

添加线程组,设置线程数,比如设置线程数100,一共有3台执行机,那么总线程数=100*3=300

(在聚合报告中可以看到线程数)

gui界面执行:

点击运行-远程启动所有

也可以单独制定一台执行机运行

服务端性能测试-jmeter做分布式压测

需要停止的话就点击运行-远程停止所有

命令行执行:

cd /data/test/apache-jmeter/bin

./jmeter -n -t /data/test/apache-jmeter/jmx/f.jmx -R 10.10.10.11:1099,10.10.10.20:1099,10.10.10.115:1099 -l /data/test/apache-jmeter/jmx/result.csv -j /data/test/apache-jmeter/jmx/log.log -e -o /data/test/apache-jmeter/jmx/result