JMeter执行分布式测试

 

  问题关联:

最近使用JMeter进行HTTP服务器性能测试,在并发数上升到一定量时,产生错误:

Response code: Non HTTP response code:org.apache.http.conn.ConnectTimeoutException

Response message: Non HTTP responsemessage: Connect to 10.15.107.112:9089 timed out

 

  错误分析:Non HTTPresponse code说明没有收到来自服务器的response。导致ConnectTimeoutException错误的可能有JMeter本身问题,也可能是服务器问题。

  解决方案:简单的方法,通过分布式运行JMeter的方式来消除JMeter本身的影响。

 

  分布式配置&实施测试:

JMeter分布式测试中,分为控制器(controller)和代理(agent)概念。需要手动部署测试代理,手动修改配置文件。

 

1、  部署Agent

配置环境变量,推荐新建JMETER_HOME环境变量,在CLASSPATH加入如下内容:

%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar

 

%JMETER_HOME%路径的bin下启动jmeter-server.bat(作为JMeter agent)

 

2、  修改Controller配置文件:

在作为ControllerJMeterbin目录下,修改jmeter.properties

找到字符串remote_hosts,修改为形如remote_hosts=10.15.107.92:1099,localhost:1099的内容,其中1099为缺省RMI通信端口。

         注:如果Controller也作为Agent,则也必须加入到remote_hosts中,如localhost在本例中既作为controller也作为agent

 

3、  在作为controllerjmeterbin目录启动jmeter.bat,打开jmeter用户界面。

启动:

点击“运行/远程启动”,可启动某一具体远程代理;

点击“远程全部启动”,启动所有agent执行脚本。

 

 

参考:

http://jmeter.512774.n5.nabble.com/Response-message-Non-HTTP-response-message-Too-many-open-files-td529837.html

http://www.cnblogs.com/jackei/archive/2006/09/14/504638.html

http://www.testwo.com/space-778-do-blog-id-6373.html

 

 

 

你可能感兴趣的:(JMeter)