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包