您的位置:首页 > 其它

JMeter执行分布式测试

2013-07-04 15:38 197 查看
 

  问题关联:

最近使用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配置文件:

在作为Controller的JMeter的bin目录下,修改jmeter.properties:

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

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

 

3、 
在作为controller的jmeter的bin目录启动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

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: