在使用jmeter进行应用压测的过程中,发现使用一个节点作为request generator到达瓶颈的时候,server端还没到到达瓶颈。因此需要使用多台机器同时发请求到网关进行压测。
jmeter是支持这种分布式压测场景的。
分布式压测部署使用一台机器作为jmeter master,负责调度测试任务,使用多台机器作为jmeter slave,负责测试任务的实际执行。slave向被测服务测试的结果,都会汇总给jmeter master。从外部看来,就像是单独使用master做压测一样。
使用jmeter进行分布式压测的步骤如下。
1 配置jmeter master
修改jmeter.properties 配置项remote_hosts,jmeter.properties配置文件在${JMETER_HOME}/libexec/bin下。
配置remote_hostsremote_hosts配置项是以逗号分隔的host:port列表
host是jmeter slave节点IP,port是slave监听端口。
配置完后,打开jmeter,可以看到配置好的remote_hosts
remote_hosts2 配置jmeter slave
去到slave所在节点的JMETER_HOME,修改配置文件jmeter.properties.
修改如下配置项:
server_port server.rmi.localport3 启动jmeter slave
${JMETER_HOME}/libexec/bin/jmeter-server
start jmeter slave4 选择远端机器开始测试
start testRun -> Remote Start可以一台一台slave启动测试请求
Run -> Remote Start All 将启动remote_hosts列表中所有slave的测试请求
Run -> Remote Stop 逐个停止slave
Run -> Remote Stop All 停止所有slave
master start/stop slave操作时,slave有如下输出:
网友评论