性能测试--Jmeter的Non GUI模式、集群

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部分)

原文地址:https://www.cnblogs.com/Keep-Ambition/p/8409941.html

时间: 2024-10-12 04:10:22

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

Rabbitmq 相关介绍之单机镜像模式集群配置

一.镜像模式集群简介 如果RabbitMQ集群只有一个broker节点,那么该节点的失效将导致整个服务临时性的不可用,并且可能会导致message的丢失(尤其是在非持久化message存储于非持久化queue中的时候).当然可以将所有的publish的message都设置为持久化的,并且使用持久化的queue,但是这样仍然无法避免由于缓存导致的问题:因为message在发送之后和被写入磁盘并执行fsync之间存在一个虽然短暂但是会产生问题的时间窗.通过publisher的confirm机制能够确

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

第一个方案是创建 redis cluster,第二种方案就是用哨兵模式来进行主从替换以及故障恢复.兵模式集群方案配置 一.sentinel介绍 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave 3):Master-Slave切换后,master_redis.conf.slave_redis.conf和sentinel.conf的内容都会发生改变,即mast

Redis哨兵模式集群部署

上次搭测试环境的时候写了一个redis哨兵模式搭建的博客,不幸的是我的博客网站挂掉了,这次搭生产环境再将redis哨兵模式集群模式搭建记录一次.(博客园不会丢掉我的数据吧..) 本次部署包含三个节点,一个主节点,两个从节点,从节点上面有两个哨兵(sentinel). 一.将需要安装redis压缩包上传到其中一台服务器的/usr/local目录下. cd /usr/local //进入文件夹tar -xvf redis-5.0.4.tar.gz //解压cd redis-5.0.4 //进入目录m

centos6.5里搭建LVS+Keepalived(DR模式)集群

最近闲着,整理下以前搭建的服务.. 介绍还是百度下, LVS+Keepalived 介绍LVSLVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq).KeepalviedKeepalived在这里主要用作

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

一.sentinel介绍 Redis Sentinel Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中 Sentinel作用: 1):Master状态检测 2):如果Master异常,则会进行Master-Slave切换,将其中一个Slave作为Master,将之前的Master作为Slave 3):Master-Slave切换后,master_redis.conf.slave_redis.conf和sentinel.conf的

Redis的安装+哨兵模式+集群

Redis安装(基于2.8版本) 哨兵(Sentinel集群)模式: 集群(基于3.0+) 原文地址:https://www.cnblogs.com/huahua035/p/9552211.html

Springboot2.x整合Redis以及连接哨兵模式/集群模式

依赖: <!--spirngboot版本为2.x--><!-- 加载spring boot redis包,springboot2.0中直接使用jedis或者lettuce配置连接池,默认为lettuce连接池,这里使用jedis连接池 --><!-- 加载spring boot redis包 --><dependency> <groupId>org.springframework.boot</groupId> <artifact

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

1.环境说明 我们将使用192.168.220.128.192.168.220.129.192.168.220.130三台机器搭建sentinel集群 当前我们已在192.168.220.128上按redis安装教程安装了redis,192.168.220.129和192.168.220.130两台上没有安装 2.配置并启动192.168.220.128上的sentinel 2.1修改conf/redis.conf,配置masterauth字段值 2.2修改conf/sentinel.conf,

Rabbitmq 相关介绍之双机镜像模式集群配置

一.环境介绍 系统: Centos 6.7  2.6.32-573.el6.x86_64 node1  172.16.60.187 node2  172.16.60.188 软件包 erlang-19.0.4-1.el6.x86_64.rpm   rabbitmq-server-3.6.12-1.el6.noarch.rpm 直接使用rpm包安装! 二.开始配置普通集群 1.设置hosts,是rabbitmq节点可以顺利的互通 在两台服务器上配置/etc/hosts,如下: #cat /etc/