jmeter分布式压测

问:jmeter为什要使用分布式?

答:当需要并发的用户数量巨大,一台压力机无法大量数据的请求,这是需要使用分布式方法使用多台压力机一起向服务器发送请求。分担压力机的压力,需要采用分布式。

分布式的前提条件:

  1. jmeter一致型
  2. jmeter一致型
  3. jmeter版本
  4. jdk
  5. 插件
  6. 同一个局域网

 

分布式压操作步骤:

  1. 打包复制一份jemter文件夹,发送助攻机
  2. 在助攻机解压。
  3. 助攻机配置

 

助攻机器jmeter配置:
  

  • 找到bin\jmeter.properties, 用记事本打开
      
  • 搜索‘server_port’   修改为自定义端口
      
  • 搜索‘rmi.port'    修改server.rmi.port  端口与上面一致
      
  • 搜索‘ssl.disable'   修改server.rmi.ssl.disable= True
      
  • 启动服务:cmd 到bin   jmeter-server.bat -Djava.rmi.server.hostname=助攻机ip
  • linux  配置防火墙:systemctl stop firewalld.service

 

 

jmeter分布式压测

 

 

 

主控机机配置

 

  1.   找到bin\jmeter.properties, 用记事本打开
  2.   搜索'remote_host'  修改为:remote_hosts=你的助攻机器ip:端口  ; 多个助攻机是用分号隔开
  3.   搜索‘ssl.disable'   修改server.rmi.ssl.disable= True
  4.   mode=Standard  把前面的# 去掉
  5. 重启主控机的jmeter,在重启前助攻机的服务要启动

 

分布式压测启动

点击运行---远程启动---选择要压测的机器

jmeter分布式压测

 

 

运行配置的说有压力机

jmeter分布式压测

 

 

 

问题排查步骤:

 连接超时: 
  1、检查助攻机器  jemter-server是否启动=====注意端口
  2、启动正常   出现 created remote object**** 
     (1)检查主控机器配置文件中写的 ip和端口
     (2)检查助攻机器  防火墙  主控机器telnet  ip 端口
  3、 127.0.0.1 *****  
    助攻机器中停止jmeter-server服务  
      然后 jmeter-server.bat -Djava.rmi.server.hostname=助攻机ip

 

 

分布式压测的计算

 

每个助攻机器 收到主控机相同的指令,如主控机设置1000个线程,有三个助攻机,那么一共是3000个用户并发。主控机不计算其中。

 

如果要把主控机要当做压力机使用,则要把主控机的ip地址和端口配置到remote_hosts中如下配置:

 

 jmeter分布式压测