jmeter 之分布式测试

1、为啥要使用分布式测试

按照一般的pc机配置,jmeter的GUI模式下(Windows),最多支持300-500左右的模拟请求线程,再大的话容易造成测试机客户端假死、无响应等状况,这是限于jmeter其本身的机制和硬件配置。

其实真实的业务场景中模拟请求线程量很大,有时候为了尽量模拟业务场景,需要模拟大量的并发请求,这时候单台测试机就显得有心无力。针对这个情况,jmeter的解决方案是支持分布式压测,即将大量的模拟并发分配给多台测试机,来满足这种大流量的并发请求场景。

2、分布式压测的原理

1)分布式测试中,选择一台机器作为管理机(controller),其它的机器作为测试执行的代理机(agent);

2)执行测试时,由管理机通过命令将测试脚本发给代理机,然后代理机执行测试(不需要启动GUI),同时将测试结果发送给管理机;

3)测试完成后,可以在管理机上的监听器里看到代理机发来的测试结果,结果为多个代理机测试结果汇总而成;

3、分布式设置步骤

1)修改管理机(controller)配置

打开管理机的jmeter安装文件下的bin目录中的:jmeter.properties文件,搜索remote_hosts=192.168.6.1(此处为你管理机的IP)将代理机(agent)的IP和端口加在后面;如:remote_hosts=192.168.6.1,192.168.6.2:80,192.168.6.3:80   

每个代理机(agent)之间用英文半角逗号隔开,之后保存修改。

2)启动jmeter

启动jmeter后,设置线程组、配置元件、采样器、监听器等组件,点击运行-》远程启动:可以选择远程启动一个代理机,或者选择远程全部启动,这样就可以进行分布式测试啦!

ps:

1、管理机和执行机最好分开,由于管理机需要发送信息给执行机并且会接收执行机回传回来的测试数据,所以管理机自身会有消耗,故建议单独用一台机器作为管理机;

2、参数文件:如果使用csv进行参数化,那么需要把参数文件在每台执行机上拷贝一份且路径需要设置成一样的;

3、每台机器上安装的jmeter版本和插件最好都一致,否则可能会出现一些意外问题。

你可能感兴趣的:(jmeter,jmeter)