JMeter分布式压测及常见问题

JMeter分布式压测及常见问题

  • 1. 应用背景
  • 2. 目的
  • 3. 介绍
    • 3.1 分布式压测原理
    • 3.2 操作步骤
      • 3.2.1 设置配置文件
  • 4. 操作建议
  • 5. 常见问题
    • 5.1 不能识别地址
    • 5.2 不能识别地址

1. 应用背景

  在性能测试过程中,并发数过大,如果还想用JMeter这个测试工具,那么就应该考虑使用分布式,JMeter是支持分布式压测的。

2. 目的

  • 了解分布式压测基本原理。
  • 熟悉并能使用分布式压测进行压测执行。

3. 介绍

3.1 分布式压测原理

  • 如下是JMeter分布式压测的原理,一个“主机”分别控制多个“肉机”,从而实现增加压力的效果。
  • JMeter分布式压测及常见问题_第1张图片

3.2 操作步骤

  注意: 3 台linux测试机需安装相同版本的jdk和jmeter。

3.2.1 设置配置文件

    1、在控制机上修改bin/jmeter.properties,添加从机的IP(查看/etc/hosts)及端口 1099是默认的rmi通信端口并修改自己的绑定端口,如下 :

remote_hosts=192.168.11.196:1099, 192.168.11.197:1099
​
server_port=1099server.rmi.localport=1099server.rmi.ssl.disable=true改为true,代理机和控制机都需要改

2、若修改自身IP,则进行如下操作

vi  bin/jmeter-server:
#增加如下一行
RMI_HOST_DEF=-Djava.rmi.server.hostname=10.120.11.82
#不想在配置文件增加如上代码,可以进行另外一种操作,启动服务端时指定IP
./jmeter-server -Djava.rmi.server.hostname=xx.xx.xx.xx

3、从机修改端口并添加远程主机IP及端口也是在bin/jmeter.properties
若修改自身IP,

vi bin/jmeter-server

4、在控制机执行分布式命令

#-R指定从机IP
jmeter -n -t testplan/comic.jmx -R 10.15.243.53,10.15.230.78 -l testResult/result1.jtl    

​#启动所有从机执行脚本
jmeter -n -t testplan/comic.jmx -r -l testResult/result1.jtl  

5、/jmeter -n -t .xxx_xxx.jmx -R 10.48.194.19 -l a.jtl

参数说明 :
-n :没有GUI模式启动; 
-R:这个后面要跟的是slave机器的地址和端口号,如果有多个的话用逗号隔开;
-t :后面跟的是执行的测试脚本文件的路径,这里需要执行的文件是comic.jmx;
-l :后面跟的是测试结果的存放路径,需要注意的是,这个路径的下面必须是空的,没有文件的才可以操作成功;
-j :后面跟的是测试的日志的存放路径,同样要求是空的,否则会报错;
-e :测试完成生成测试报告
-o:指定测试报告的路径,同样要求是空的,否则会报错
注:若有host同样也需要修改从机的host文件,否则会出现error

4. 操作建议

  • 如果master设置的脚本线程个数是10,启动了5个slave,那么最后的压力应该是10*5=50。
  • 为了减少出错的概率,master和slave上jmeter的版本和jdk的版本需保持一致。
  • 配置hostname,linux上修改/etc/hostname;window上操作,win+r输入drivers回车,找到etc/hosts。
  • 服务端和客户端的内存配置保持相同。(windows调整jmeter.bat;linux调整Jmeter)

5. 常见问题

5.1 不能识别地址

在这里插入图片描述
解决
  直接输入命令行:vim /etc/hostname,修改本机名称。
在这里插入图片描述

5.2 不能识别地址

在这里插入图片描述
解决:
  编辑 jmeter.properties文件,打开#server.rmi.ssl.disable=false,前边的注释,修改内容为true,重启。
JMeter分布式压测及常见问题_第2张图片

你可能感兴趣的:(jmeter)