Jmeter的Non GUI模式、集群

一、Non GUI模式

1、一般情况下在NonGUI模式下运行jmeter,有两个好处:

  • 节省系统资源,能够产生更大的负载
  • 可以通过命令行参数对测试场景进行更精细的配置

2、示例:

使用上一篇博文中smile task的查看所有task的脚本作为例子演示non gui模式

jmeter -n -t scripts/c7/all_tasks.jmx -l scripts/c7/all_tasks_res.jtl -e -o scripts/c7/report

上面这条命令将输入的结果保存为log.jtl,然后在运行结束时,在resport目录下生成dashboard报告。

3、Non GUI模式下参数详解:

  • -n 表示使用non-gui模式
  • -t [JMX测试脚本的名称].
  • -l [保存JTL 测试结果文件的路径].
  • -j [JMeter log文件的路径].
  • -r 在JMeter的远程机器上运行测试,远程机器由 property " remote_hosts "指定
  • -R [远程机器列表] 在指定的远程机器上运行测试
  • -g [CSV 文件路径] 通过csv文件来创建dashboard报告
  • -e 运行结束后创建dashboard报告
  • -o 在哪个目录创建dashboard报告,该目录必须为空或者不存在

代理相关的选项

  • -H [代理服务器的名称或ip]
  • -P [代理服务器端口]

二、jmeter集群

Jmeter的集群模式可以将多台机器联合起来一起产生负载,从而弥补单台机器负载生成能力不足的问题。在集群模式下,最少需要两台机器(一台client: 大脑,用于控制其他执行机的机器,此机器不产生负载压力,一台server: 真正执行test plan,产生负载压力的机器)

1、第一步,开启server:

JMETER_HOME/bin/jmeter-server (unix)
JMETER_HOME/bin/jmeter-server.bat

2、第二步,将server的ip添加到client的Properties文件:

编辑JMETER_HOME/bin/jmeter.properties文件,找到remote_hosts项,将server的ip配置到这一项,有几台server就写几个ip,用逗号分隔。

也可以在命令行中配置server ip:

jmeter -R host1,127.0.0.1,host2

3、第三步,打开jmeter gui检查配置:

此时Run菜单下会出现"Remote Start" and "Remote Stop"菜单,如下图所示:

4、第四步,使用none gui模式进行集群测试:

GUI模式只能用于调试,不能用于正式的产生负载,在集群模式下也是这样。

在client机器上使用下面的命令运行测试:

jmeter -n -t script.jmx -r 

or

jmeter -n -t script.jmx -R server1,server2,…
  • -Gproperty=value: 在所有的server上配置属性,可以配置多次
  • -X: 测试结束后关闭servers

更多资料:

tips

三、jmeter官方文档里给出了下面的减少资源使用的建议:

  • 使用无GUI的模式: jmeter -n -t test.jmx -l test.jtl
  • 尽量少使用监听器Listener;如果使用上面的-l标记,他们均可以被删除或禁用
  • 在压力测试过程中,不要使用查看结果树或在Table中查看结果监听器,仅在脚本调试阶段使用即可
  • 相比使用大量相似的样例,在一个循环中使用相同的样例,并使用变量(CSV DataSet)来实现样例的不同。[Include Controller在此步骤没有任何用,它在文件中添加所有的测试元素至测试计划中]
  • 不要使用功能模式
  • 使用CSV格式输出要优于XML
  • 仅保存需要的数据
  • 尽可能使用少的断言
  • 使用最优的脚本语言(查看JSR223部分)

性能测试--Jmeter的Non GUI模式、集群的更多相关文章

  1. Jmeter之非GUI模式(命令行)执行

    在使用Jmeter进行性能测试时,建议使用非GUI模式执行. 命令行启动 1.进入jmeter安装的bin目录 2.执行Jmeter命令 如下: (1.jmeter.bat -n -t E:\apac ...

  2. Nodejs【单机】多进程模式集群

    Nodejs[单机]多进程模式集群实例: 1.安装:npm install -s cluster 2.服务代码: var debug = require('debug'); var express = ...

  3. Zookeeper 部署Zookeeper仲裁模式集群

    部署Zookeeper仲裁模式集群 本例在一台服务器上部署3个zk服务:z1.z2.z3. 1.下载Zookeeper https://zookeeper.apache.org/ 2.解压缩 .tar ...

  4. RabbitMQ 3.9.7 镜像模式集群的搭建

    1. 概述 老话说的好:做人脚踏实地,一步一个脚印,便定能战胜一切困难,最终取得成功!!! 言归正传,之前我们聊了 RabbitMQ 单点服务的安装,今天我们来聊聊 RabbitMQ 3.9.7 镜像 ...

  5. RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合

    1. 概述 老话说的好:做人要懂得变通,善于思考,有时稍微转个弯,也许问题就解决了. 言归正传,之前我们聊了 RabbitMQ 3.9.7 镜像模式集群的搭建,今天我们来聊聊 RabbitMQ 3.9 ...

  6. Redis sentinel 哨兵模式集群方案配置

    第一个方案是创建 redis cluster,第二种方案就是用哨兵模式来进行主从替换以及故障恢复.兵模式集群方案配置 一.sentinel介绍 Sentinel作用: 1):Master状态检测 2) ...

  7. mongodb生产环境(副本集模式)集群搭建配置

    mongodb副本集模式由如下几部分组成: 1.路由实例mongos 2.配置实例configsvr 3.副本集集群replset(一主多从) tips: 1.以上实例都是mongod守护进程 2.以 ...

  8. Jmeter(非GUI模式)教程

    前言 使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资源.优点如下:1.节约系统资源:无需启动界面,节约系统资源 2.便捷快速:仅需启动命令行,输入命令便可执行 ...

  9. redis sentinel哨兵模式集群搭建教程

    1.环境说明 我们将使用192.168.220.128.192.168.220.129两台机器搭建sentinel交叉主从为例 当前我们已在192.168.220.128上按redis安装教程安装了r ...

随机推荐

  1. slam学习足迹

    1.slam入门介绍 2.齐次坐标系 3.贝叶斯滤波 均值:平均值 标准差:样本的集中程度/分散度 方差:标准差的平方 协方差:不同维度之间的关系(相关度) 协方差矩阵:多维度之间的关系(相关度) 4 ...

  2. POJ 3268 Silver Cow Party (Dijkstra + 优先队列)

    题意:由n个牧场,编号1到n.每个牧场有一头牛.现在在牧场x举办party,每头牛都去参加,然后再回到自己的牧场.牧场之间会有一些单向的路.每头牛都会让自己往返的路程最短.问所有牛当中最长的往返路程是 ...

  3. node.js中的exports和module.exports

    不同的编程语言都有各自的代码组织和复用的方式,如.net.php中的命名空间,python中的import,ruby中的module等,来避免命名空间污染.一直都没搞清楚node中的exports和m ...

  4. linux命令lsattr、chattr、man

    1.man命令,可以查看手册 配置位置/etc/man.conf MANPATH决定手册查询位置 MANSECT决定man查询的顺序 man的查询 linux man的常用用法: man sectio ...

  5. 2017.2.12 开涛shiro教程-第七章-与Web集成

    2017.2.9 开涛shiro教程-第七章-与Web集成(一) 原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. ...

  6. 转: https 加密通信流程

    https 加密通信流程当用户在浏览器中输入一个以https开头的网址时,便开启了浏览器与被访问站点之间的加密通信.下面我们以一个用户访问https://qbox.me为例,给读者展现一下SSL/TL ...

  7. GDI+重绘笔记

    有的控件不能重载 OnPaint,设置 ControlStyles.UserPaint = true即可 //如果为 true,控件将自行绘制,而不是通过操作系统来绘制. //如果为 false,将不 ...

  8. android mvp高速开发框架介绍(继续dileber)

    android mvp框架:dileber(https://github.com/dileber/dileber.git) 继续为大家介绍android mvp开源框架 dileber 官方交流qq群 ...

  9. 未经处理的异常在 System.Data.dll 中发生。其它信息:在应使用条件的上下文(在 '***' 附近)中指定了非布尔类型的表达式。

    机房收费系统中,有些人在联合查询这个模块用的是存储过程.我先尝试着在数据库中建立了一个视图.然后在UI层做个推断并生成查询条件strCondition. 在机房收费系统的"联合查询" ...

  10. mysql if()一个奇怪的问题

    看起来一切正常......... 但是当使用不等于时 SELECT IF(1!=NULL,1,2) 居然返回2 SELECT IF(1!=NULL,1,2) >2 -- ------------ ...