JMeter笔记:分布式压测
本次记录的是Linux环境上进行分布式压测。
1、首先是准备好2台Centos机器
2、安装JDK和Jmeter,可以参考单机压测的前三步:https://www.cnblogs.com/daydayup-lin/p/12910005.html
3、分别修改2个机器的hostname:
(1)查看机器的hostname:hostanme
(2)修改hostname:vi /etc/hostname,假设修改成jmeter1
(3)添加ip和hostname的映射关系如下:vi /etc/hosts
(4)保存后重启机器
(5)重新连接机器,查看hostname修改是否成功
(6)重复上述步骤,修改机器2,hostname可以用jmeter2
4、压测脚本文件上传
将jmeter的场景文件jmx上传到主jmeter的任意位置,参数文件放到每一台压力机上(存放目录要相同)
5、分别修改2个机器上jmeter/bin下的jmeter.properties:
修改server.rmi.ssl.disable=true(默认是注释状态,取消注释并改成true)
6、启动jmeter-server服务
在每台机器上进入到jmeter的bin目录下,都启动nohup ./jmeter-server &(后台启动jmeter-server服务)
可以通过ps -ef|grep java来查看jmeter-server的启动情况:
从上图中可以看出,jmeter-server启动成功,且端口号是1099
7、在主加压机器上修改jmeter.properties中的remote_hosts如下:(加压机之间已英文逗号分隔,端口号设置与第6步看到的端口号一致)
8、脚本执行
在主jmeter的机器上,执行
jmeter -n -t test.jmx -l result.jtl -r #-r表示是分布式压测
注意:test.jmx中设置的并发数是5,那么2个加压机的话,总体并发数=脚本中设置的并发数*压力机数=10
压测执行如下图:
9、结果查看,将上一步的result.jtl下载的windows,可查看压测结果
聚合报告:
活跃线程数:
注意: (1)上述描述的是http脚本,在主加压机上有脚本文件即可; (2)如果是java脚本,在每一台机器上都得有脚本文件和依赖的jar包