原文出自:http://www.51testing.com/html/75/n-101075.html
利用JMeter进行负载测试的 时候,使用单台机器模拟测试超过1000个行程的并发就有些力不从心,在执行的过程当中,JMeter自身会自动关闭,要解决这个问题,能够使用分布式测 试,运行多台机器运行所谓的 Agent 来分担 JMeter自身的压力,并借此来获取更大的并发用户数,可是须要进行相关的一些修改,具体以下:php
一、在全部指望运行 JMeter 做为 Load Generator 的机器上安装 JMeter,并肯定其中一台机器做为 Controller,其余的机器做为 Agent。而后运行全部 Agent 机器上的JMeter-server.bat文件——假定咱们使用两台机器 192.168.0.1 和 192.168.0.2 做为 Agent;html
二、在Controller 机器的 JMeter 安装目录下找到 bin 目录,再找到 JMeter.properties 这个文件,使用记事本或者其余文字编辑工具打开它;并发
三、在打开的文件中查找“remote_hosts=”这个字符串,你能够找到这样一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示运行 JMeter Agent 的机器,这里须要修改成“remote_hosts=192.168.0.1:1099,192.168.0.2:1099”——其中的 1099 为 JMeter 的 Controller 和 Agent 之间进行通信的默认 RMI 端口号;分布式
四、保存文件,并从新启动 Controller 机器上的 JMeter.bat,并进入 Run -> Remote Start 菜单项,在这里能够看到远程启动菜单下面有192.168.0.1 ,192.168.0.1两个IP地址ide
五、若是要让某个电脑执行,能够点击改电脑的IP地址就能够,若是两个都要执行,能够点击Run 菜单下的“远程运行所有”菜单工具
六、有时候用做代理的机器太少,仍不能知足须要,则须要将做为Controller的电脑也看成Agent,则一样须要修改 JMeter.properties文件,将Controller的IP地址写入。同时,这个时候,须要打先打开Controller 电脑中JMeter下bin目录下的jmeter-server.bat,而后再打开JMeter.bat,此时,进入Run -> Remote Start菜单,能够看到Controller也做为远程机器进行运行。测试
PS. 在用agent时,请求中用到CSV文件,为何不可以拿到CSV文件中的值?
Jmeter主机可以传递测试脚本给Agent机器,可是不可以传递CSV文件的内容,也就是说CSV文件须要在每台agent机器上对应目录拷贝一份spa