jmeter分布式测试
场景:单台测试机做压力测试,不能满足服务器的上限,本机就已经到达瓶颈了。所以需要多台机器同时压测服务器
1. 环境
Java 10 + 2台win10 + jmeter5.0
一台 win 作为调度机和负载机,另外一台单独作为负载机
2. 安装
2.1 两台都安装 Java 环境
注意jmeter4.0开始就要求至少 java8,当然这里的 jmeter5.0也是要求 java8及以上
(略)
2.2 安装 jmeter
先到 jmeter 官网下载软件包 https://jmeter.apache.org/download_jmeter.cgi,jmeter5.0下载链接
下载到本地后,解压如下图
主要使用到的目录就是 bin 目录, 下面包含了所有的启动脚本。
2.3 接下来需要配置一个环境变量(远程主机也需要这一步)
win10:右键【此电脑】-> 【属性】-> 左边栏【高级系统设置】-> 上边栏【高级】-> 【环境变量】 -> 下方【系统变量】 -> 【新建】
注意:这里的变量值需要换成自己的目录
win7:右键计算机,其他步骤大致同 win10
上面的步骤做完后,进入到 apache-jmeter-5.0/bin 目录下,找到 jmeter.bat 运行
脚本运行完后,会出现图形化界面
到这里就算是安装成功了
3. 配置分布式环境
3.1 配置
在两台主机上操作:
找到 apache-jmeter-5.0\bin 目录下的 jmeter.properties 文件。通过文本方式打开后,找到 server_port 和 server.rmi.localport 两项,去掉注释修改为
3.2 启动
这里的 192.168.56.1:1099 表示远程节点的监听绑定地址,检查是否正确
注意:如果此处的地址不正确,请停止其他虚拟网卡。建议禁用所有虚拟网卡
3.3 测试
step 2:在线程组下添加 http 请求
step 3:编辑 http 请求,填写下面参数。
ps: 请求的地址为气象局网站 http://www.cma.gov.cn,因为这个网站支持 http 让演示简单
step 4:添加查看结果报告
step 5:启动远程测试,选择远程主机
检查结果:请求成功。如果选择远程启动所有的话,这里会出现两条结果
3.4 安装插件
如果需要看更多的东西,比如 rps,tps 等结果,jmeter 原生是不支持的。需要安装插件,此处以 tps 插件为例
插件网站 https://jmeter-plugins.org/wiki/Start/,找到 tps 插件
点击下载
跳转到插件页面:
下载地址 2.0
下载后是一个 lib 包,直接拷贝到 jmeter 目录下即可。然后重新打开 jmeter.bat,就能看见插件
其他插件按照需要执行上述安装步骤即可
4. 测试用例编写
下面简单介绍常用的组件含义
线程组中用来添加请求的并发数,和请求次数
断言中用来判断请求结果
简单的测试可以如下图,将常用的变量放在用户自定义变量中,使用的格式为 ${变量名},聚合报告可以查看所有请求的结果,及相关信息