【转】Jmeter分布式压力测试

安装

下载地址:http://jmeter.apache.org/download_jmeter.cgi

安装前提(因为jmeter依赖于Java所以必须先配置好java)

下载后解压:

tar -xvzf apache-jmeter-3.1.tgz

Jmeter参数

[html] view plain copy

  1. -h, --help
  2. print usage information and exit
  3. #打印帮助信息 
  4. -v, --version
  5. print the version information and exit
  6.           #打印版本信息
  7. -p, --propfile {argument}
  8. the jmeter property file to use
  9.           #运行时指定property文件,默认是使用JMETER_HOME/bin目录下的jmeter.properties,如果用户自定义有其它的配置,在这里加上
  10.           #用法如下: -p user.properties
  11. -q, --addprop {argument}
  12. additional property file(s)
  13.           #其它配置文件,如JVM参数等等
  14. -t, --testfile {argument}
  15. the jmeter test(.jmx) file to run
  16.           #要运行的jmeter脚本
  17. -j, --jmeterlogfile {argument}
  18. the jmeter log file
  19.           #指定记录jmeter log的文件,默认为jmeter.log
  20. -l, --logfile {argument}
  21. the file to log samples to
  22.           #记录采样器Log的文件
  23. -n, --nongui
  24. run JMeter in nongui mode
  25.           #以nongui模式运行jmeter
  26. -s, --server
  27. run the JMeter server
  28.           #运行JMeter server
  29. -H, --proxyHost {argument}
  30. Set a proxy server for JMeter to use
  31.           #代理服务器地址
  32. -P, --proxyPort {argument}
  33. Set proxy server port for JMeter to use
  34.           #代理服务器端口
  35. -u, --username {argument}
  36. Set username for proxy server that JMeter is to use
  37.           #代理服务器的用户名
  38. -a, --password {argument}
  39. Set password for proxy server that JMeter is to use
  40.           #代理服务器用户名对应的密码
  41. -J, --jmeterproperty {argument}={value}
  42. Define additional JMeter properties
  43.           #定义额外的Jmeter属性
  44. -G, --globalproperty (argument)[=(value)]
  45. Define Global properties (sent to servers)
  46. e.g. -Gport=123
  47. or -Gglobal.properties
  48.           #定义发送给server的全局属性
  49.          #如:-Gport=123 或者-Gglobal.properties(指定监听server的端口)
  50. -D, --systemproperty {argument}={value}
  51. Define additional System properties
  52.           #定义系统属性
  53. -S, --systemPropertyFile {filename}
  54. a property file to be added as System properties
  55. #通过指定的property文件定义系统属性
  56. -L, --loglevel {argument}={value}
  57. Define loglevel: [category=]level
  58. e.g. jorphan=INFO or jmeter.util=DEBUG
  59.           #定义日志等级
  60. -r, --runremote (non-GUI only)
  61. Start remote servers (as defined by the jmeter property remote_hosts)
  62.           #启动远程server(在jmeter property中定义好的remote_hosts),公在non-gui模式下此参数才生效
  63. -R, --remotestart  server1,... (non-GUI only)
  64. Start these remote servers (overrides remote_hosts)
  65.           #启动远程server(如果使用此参数,将会忽略jmeter property中定义的remote_hosts)
  66. -d, --homedir {argument}
  67. the jmeter home directory to use
  68. #Jmeter运行的主目录
  69. -X, --remoteexit
  70. Exit the remote servers at end of test (non-GUI)
  71.           #测试结束时,退出(在non-gui模式下)

 配置jmeter client & server

了解了上面的各个参数后,开始配置分布式测试

先看一下官方文档是怎么说的,中文为我添加的注释:

1. the firewalls on the systems are turned off.#1.关闭防火墙

2. all the clients are on the same subnet.#2.所有的客户端都在同一个子网内

3. the server is in the same subnet, if 192.x.x.x or 10.x.x.x ip addresses are used. If the server

doesn‘t use 192 or 10 ip address, there shouldn‘t be any problems.#3.server也必须在同一子网内如果使用192.x.x.x或者10.x.x.x这样的IP地址,如果server没有使用192或者10这样的IP地址,(server同client不在同一子网内)将不会有任何问题

4. Make sure JMeter can access the server.#4.确保Jmeter可以访问到server

5. Make sure you use the same version of JMeter on all the systems. Mixing versions may not work

correctly.#5.确保各系统的Jmeter版本保持一致,不同版本的Jmeter将不能很好的工作

一些术语的解释:

· master,以GUI模式运行,同时控制测试的运行,在这里就是client,启动脚本所在的那台机器。

· slave,运行jmeter-server并从master接收指令、向目标服务器发送请求

设置jmeter-server:

用文本编辑器打开JMETER_HOME/bin目录下的jmeter.properties文件,添加运行jmeter-server的主机IP到remote-hosts

remote_hosts=10.0.0.158, 10.0.0.140,localhost

如果你不希望你的客户端也作为jmeter-server运行的话,把localhost从上面的配置中移除。

这里要注意:建议不用localhost而是使用实际的IP,否则容易报错。

实战阶段:

一、在客户端以gui模式启动jmeter,然后打开或者创建一个测试脚本

二、从gui模式启动所有的远程server,方法:运行-远程全部启动,看下图,也可以单独启动某一个jmeter-server

三、使用no-gui方式进行压力测试

jmeter -t "JMS Point-to-Point.jmx" -n -l testresult.csv -r

-t:从哪个jmx启动

-n:以no-gui的方式进行压力测试

-l:记录log

-r:启动远程server(在jmeter property中定义好的remote_hosts),公在non-gui模式下此参数才生效

至此,以经通过non-gui模式运行Jmeter分布式测试了

这里有一点小贴士:以分布式运行Jmeter,是在所有的server上运行同样的测试脚本,也就是说,如果你打算1s起100个线程,如果你用5台机器进行分布式测试,那么将脚本调试至1s起20个线程,否则则是1s起了500个线程,这样可能跟你的预期有所差别

时间: 2024-10-10 14:15:18

【转】Jmeter分布式压力测试的相关文章

性能测试工具 jmeter 分布式压力测试实操

性能测试工具 jmeter 分布式压力测试实操 本文在Non-GUI Mode下进行,准备好三台有jdk环境,linux操作系统,同一局域网测试机器,运行两台slave,一台master机器,进行分布式测试. slave-1/slave-2/master配置好jmeter环境(以下操作在jdk版本1.8环境下进行的) 1.下载jmeter3.2 wget https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-3.2.tgz 2

jmeter分布式压力测试

有时候需要的虚拟用户数比较大,一个负载机的资源不足以支持,就需要多台机器共同生成负载.就是分布式压力测试. 分布式压测怎么做呢?有几点要求:一是有几台电脑与控制机在同一局域网内.也就是可以互相访问.二是压力机也要安装jmeter. 在主控机的jmeter的bin目录找到配置文件jmeter.properties.找到里面的remote_hosts部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip.如果是多个压力机,之间使用英文逗号分隔分隔. 一.修改apache-jmet

Jmeter分布式压力测试环境配置

在一般情况下一台服务器如果要做大量用户并发的压力测试是扛不住的,基本上jmeter都崩溃.现在我们借助Jmeter提供的Controller+Agent模式搭建一套分布式压力测试环境 角色 IP 操作系统 版本 Controller 192.168.10.103 Windows 10 5.1.1 Agent 192.168.10.210 CentOS 7 5.2.1 Agent 192.168.10.211 CentOS 7 5.2.1 注意:正常情况下,我们建议所有的jmeter的版本要一致,

Jmeter 分布式压力测试

JMeter中进行分布式测试 作为一个纯 JAVA 的GUI应用,JMeter对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误.不过,JMeter也可以像 LoadRunner 一样通过使用多台机器运行所谓的代理来分担负载产生器自身的压力,并借此来获取更大的并发用户数,我们只需手动配置一下即可. 1.在所有期望运行JMeter作为 负载产生器的机器上安装JMeter,并确定其中一台机器作为 控

JMeter接口压力测试课程入门到高级实战(目录)

章节一压力测试课程介绍1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介:讲解课程安排,使用的Jmeter版本2.常用压力测试工具对比简介:目前用的常用测试工具对比章节二 JMeter4.x基础知识讲解和压测实操3.Jmeter基本介绍和使用场景4.本地快速安装Jmeter4.x简介:GUI图形界面的安装1.需要安装JDK8.或者JDK9,JDK102.快速下载5.Jmeter目录文件讲解简介:讲解jmeter解压文件里面的各个目录,文件等6.Jmeter语言版本中英文切

JMeter接口压力测试课程入门到高级实战教程(详情)

章节一压力测试课程介绍1.2018年亿级流量压测系列之Jmeter4.0课程介绍和效果演示 简介:讲解课程安排,使用的Jmeter版本 讲课风格:涉及的组件,操作配置多,不会一次性讲解,会先讲部分,然后在后续操作中慢慢补充,更容易消化和理解 2.常用压力测试工具对比简介:目前用的常用测试工具对比1.loadrunner性能稳定,压测结果及细粒度大,可以自定义脚本进行压测,但是太过于重大,功能比较繁多 2.apache ab(单接口压测最方便) 模拟多线程并发请求,ab命令对发出负载的计算机要求很

如何用Jmeter做压力测试 --- 转

Jmeter是一个性能测试工具,同loadrunner类似,他功能较多,我们常用的功能是用jmeter模拟多浏览器对网站做压力测试.    下载jmeter地址 :http://jakarta.apache.org/我们一般的网站,在进入业务功能前先需登录,然后才能访问业务功能.下面介绍如何用jmeter登录系统再对主业务做压力测试.1 运行jmeter    2 左边树将出现测试计划.工作台两根节点.3 选择测试计划,按右键->添加->threads(users)线程组    线程组能设置以

利用jmeter进行压力测试

1.压力测试的简单讲解 2.压力测试的监控 3.压力问题的简单定位 4.jmeter进行压力测试 1.压力测试的简单讲解 1.什么时候进行压力测试. 基于接口的压力测试,在接口功能测试完成之后就可进行接口的压力测试.如果有接口的依赖关系,各个接口都要完成接口的功能测试之后,再行压力测试 基于业务多场景的综合压力测试,要在所有业务功能测试通过之后进行 2.压力测试的合理性 压力测试结果是否有效,还要看压力环境,举个例子: 测试环境和生产环境硬件配置没可比性,那么测试环境的压力测试毫无意义,测试报告

Apache JMeter开源压力测试/负载测试工具 2.12 官方最新版

软件介绍 Jmeter是一款使用Java开发的,开源免费的,测试工具, 主要用来做功能测试和性能测试(压力测试/负载测试),而且用Jmeter 来测试 Restful API, 非常好用. 如何学好Jmeter: 如果你用Jmeter去对Web进行功能测试,或者性能测试. 你必须熟练HTTP协议,才能学好Jmeter. 否则你很难理解Jmeter中得概念. Jmeter运行: 解压后, 运行  “bin/jmeter.bat” Jmeter 是支持中文的, 启动Jmeter 后, 点击 Opti