jmeter分布式原理
1、Jmeter分布式测试时,选择其中一台作为客户端(controller),其它机器做为服务端(slave)。
2、执行时,controller会把脚本发送到每台slave上,slave 拿到脚本后就开始执行,slave执行时不需要启动GUI,我理解它应该是通过命令行模式执行的。slave本地不需预先存储脚本;
3、执行完成后,slave会把结果回传给controller,controller会收集所有slave的信息并汇总。
利用jmeter远程启动服务测试,各种查资料,据说是一个非常高大上东东,就是jmeter的分布式控制原理~具体控制如下图:
jmeter分布式原理
三、jmeter远程启动配置
一)服务器(slave)配置
服务端(slave)需安装jmeter,最好与客户端(controller)保持同版本,jdk最好也保持同版本,无法满足时至少保证服务端上的jmeter能正常运行(如jmeter3.0以后需要jdk1.7及以上版本)。
1、配置多个服务端的ip地址和port。在服务端安装目录的bin文件夹下,找到jmeter.properties,修改配置如下图,把原来remote_hosts=127.0.0.1改为本机ip:remote_hosts=192.168.74.142,有多个服务端也都一样修改为本机ip,并都去掉server_port=1099前#,保存退出
修改ip和port
2、在服务端(slave)安装目录的bin文件夹下执行jmeter-server.bat命令启动jmeter服务就可以,启动成功如下图:
启动jmeter-server.bat
控制台信息
注意:上图红框中的ip为服务器的ip地址,当服务器有多网卡时它会随机挑选一个网卡使用,红框中的端口号port为启动jmeter服务监听的port,一般会有个默认端口号1099,但最好自定义,确保端口号不冲突。修改方法在下文介绍。
二)客户端(controller)配置
在客户端上要保证执行命令能发送到服务器,因此需配置客户端远程的ip地址和port。在客户端安装目录的bin文件夹下,找到jmeter.properties,修改配置如下图,其中ip和port即为上一步slave的ip和port,如上图中jmeter-server启动时红框中显示的内容。多个slave机器的配置可通过逗号分隔。
remote_hosts=192.168.74.142:1099,192.168.74.143:1099
配置远程ip,修改客户端hosts
配置完成后打开客户端jmeter的GUI界面,在运行-远程启动中即可看到自己配置的slave机器。
启动远程ip
添加一个脚本,点击远程启动即可启动运行slave机器,此时在服务端(slave)jmeter-server.bat打开的窗口上可看到控制台信息,在客户端通过监听器设置的系列配置,如:聚合报告或察看结果数,都可看到执行结果。
服务端(slave)jmeter-server.bat打开的窗口:
远程服务端控制台信息
客户端(controller)监听器查看结果:
资源监控信息
备注:启用资源监控时,一定要在服务端先启用代理,这样GUI界面才能收集到监控信息,要不然直接请求会报:拒绝连接
聚合报告
领取专属 10元无门槛券
私享最新 技术干货