jmeter分布式压力测试

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界面才能收集到监控信息,要不然直接请求会报:拒绝连接

聚合报告

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180420G0GS6500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券