Jmeter场景设置与启动方式

目录

线程组设置

name和comments

Action to be taken after a sampler error

Thread Properties 线程属性设置

场景运行

远程运行配置

命令行


性能测试场景是用来模拟模拟真实用户操作的工作单元,所以场景设计一定要切合用户的操作逻辑,jmeter主要是通过线程组配合其他组件来一起完成场景的设置。

线程组设置

Jmeter线程组实际上是简历一个线程池,然后根据用户的设置完成线程池的初始化,在运行时做各种逻辑处理

上图是一个线程组的配置界面,下面我们对具体的参数进行说明

name和comments

是名称和注释的配置,这里根据自己要测试的场景设置就好,最好是见名知意

Action to be taken after a sampler error

在取样器错误后要执行的操作,也就是说在某一个请求出错后的异常处理方式,有5中方式

  • Continue, 继续,取样器模拟的请求出错后,继续运行

    在大量用户并发请求时,服务器可能会出现错误响应,这属于正常现象,此时要把错误记录下来,继续后面的请求

  • start next Thread Loop 如果出错,则统一脚本中的剩下的请求将不在执行,直接重新开始,比如有个场景,需要先登录后发文,这个时候如果登录失败了,那么发帖就不会成功,所以没必要继续执行,直接开始下一轮测试就好,此时就可以设置这个错误处理方式。

  • stop thread 停止线程,如果遇到取样器模拟的某个请求失败,则停止当前线程,不再执行,比如配置了40个线程,某个线程的请求失败,则停止当前线程,剩余的线程继续执行,如果失败的越多,则停止的越多,运行状态的线程就会越来越少,那服务器的负载就会不够,测试结果也不具备参考性了,所一般不设置这个。

  • stop test 停止测试,如果某一个线程的一个请求失败了,则停止掉所有线程,也就是说测试要停止,但是每个线程任然会执行完当前场景,比如当前场景为登陆发文,有个线程登陆失败,其他线程也执行到了登陆,错误发生后,其他线程还是会继续执行发文操作。

  • stop test Now 立即停止测试,如果有线程请求失败,则立即停止所有线程,不再继续执行

Thread Properties 线程属性设置
  • 线程数 Number of Threads(users)

    运行的线程数设置,一个线程对应一个用户

  • Ramp-up period(seconds)线程启动开始运行的时间间隔,单位是秒,所有线程在多长时间内开始运行

    比如说设置了50个线程,Ramp-up period设置10秒,那么每秒就会启动5个线程,如果设置0秒,那么50线程就会立即启动。

  • Loop count 请求的重复次数,如果选择infinite,那么请求将会一直执行下去,除非停止或者崩溃,如果选择填入具体次数,那就可以控制循序的次数了。

  • sam user on each iteration 每次迭代有使用相同的用户,这个配置是5.2版本以后新加的,之前的版本没有这个选项,所以会有一个问题,模拟的用户并不是和真实场景一样是相互独立的,他默认在每个线程中是复用用户,给大家推荐一篇文章https://www.cnblogs.com/nmb123/p/12266697.html

  • Delay Thread creation until needed

    JMeter 所有的线程是一开始就创建完成的,只是递增的时候会按照上面的规则递增。如果选择了这个选项,则不会在一开始创建所有线程,只有在需要时才会创建。

    如果不选择,在启动场景时,JMeter 会用更多的 CPU 来创建线程,它会影响前面的一些请求的响应时间,因为压力机的 CPU 在做其他事情嘛。如果选择了的话,就会在使用时再创建,CPU 消耗会平均一些,但是这时会有另一个隐患,就是会稍微影响正在跑的线程

  • Specify Thread lifetime 线程运行时间,这个配置只有Loop count 请求的重复次数,配置了infinite,才会生效,否则还是Loop count 控制线程的执行

    • Duration(seconds)设置线程组运行多长时间,单位是秒
    • StartUp delay(seconds)设置线程启动延时时间,单位是秒

场景运行

Jmeter的运行方式分为两种,一种是GUI可视化界面运行,另一种是命令行运行,这两种都支持本地化运行即单体运行和远程运行。这里我们主要介绍远程执行和jmeter命令行运行。

远程运行配置
  • 远程配置

    远程运行节点端口配置:

    server_port=1099
    server.rmi.localport=1099
    

    运行:

    ./jmeter-server -Djava.rmi.server.hostname=本机ip
    
  • 本地配置

    remote_hosts配置

    remote_hosts=ip:port,ip:prot,... ip和port都是远程执行机的ip和server的运行端口
    

    运行:

    java -jar ApacheJMeter.jar -n -t Thread\ Group.jmx -r -l result.jtl -R ip
    

    -R 指定要哪台机器运行测试脚本

命令行

命令行执行./jmeter -?可以输出命令行参数选项,这里只介绍一些比较常用的,更多用法看官方文档

  • -l 记录测试结果到文件,指定文件地址和名称,可以使相对路径也可以是绝对路径
  • -d 指定jmeter home路径
  • -R 开启远程负载机,指定负载机的ip
  • -n 指定非GUI方式运行
  • -t 指定jmeter脚本文件路径
  • -L 指定日志级别

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20692.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python示例解释观察者模式

观察者模式是一种常用的设计模式,用于在对象之间建立一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都会得到通知并自动更新。下面通过一个简单的例子来解释观察者模式的概念。 假设我们有一个名为"主题"&a…

【IMX6ULL驱动开发学习】20. input子系统(按键实现ls命令)

一、input子系统相关结构体 二、input子系统实例实现: static struct input_dev *key_input;static void my_timer_handle(unsigned long data) {....../* 5.input子系统上报事件 *///第三个参数要变,如果两次上报value相同,则input子系统不会…

【项目管理】成本管理

一.成本管理的概述 在项目上对成本进行管理和控制是为了让项目经理真正了解完成项目所需要消耗的时间和所需要的资源,从而对其进行相应的成本控制。成本管理主要分成以下三个方面的内容: 二.成本估算 成本估算是对整个项目投入的各种资源的成本进行估算&…

java每日一题:手动触发垃圾回收(GC)

面试官: 首先,我想问一下,你能向我解释一下"手动触发Java垃圾回收"的过程吗?🤔 面试者: 在Java中,垃圾回收是自动进行的,由Java虚拟机(JVM)负责管理。但是,有…

30多个小程序一键发布——miniprogram-ci

概述 miniprogram-ci 是从微信开发者工具中抽离的关于小程序/小游戏项目代码的编译模块。 开发者可不打开小程序开发者工具,独立使用 miniprogram-ci 进行小程序代码的上传、预览等操作。 miniprogram-ci 从 1.0.28 开始支持第三方平台开发的上传和预览&#xff0…

Flutter底部导航BottomNavigationBar

Flutter底部导航BottomNavigationBar 主要代码: bottomNavigationBar: BottomNavigationBar(//选中菜单颜色fixedColor: Colors.red,//图标大小,默认24.0iconSize: 30,//第几个菜单选中currentIndex: currentIndex,//当item数量大于3个时需要设置type属…

simulink 结构体 bus creator

目录 结构体创建 bus creator 结构体引用Bus Selector 结构体赋值Bus Assignment 结构体对象 Bus 结构体数组打包Vector Concatenate 结构体数据存文件 结构体创建 bus creator 结构体引用Bus Selector 结构体赋值Bus Assignment 结构体对象 Bus 结构体数组打包Vector Co…

方便的记事本app有哪些 快捷方便的生活记事软件推荐

生活中很多时候都需要记事,比如去超市要买的物品清单,旅行时遇到的好看的风景、有趣的事情,以及脑海中不经意间产生的灵感、想法或思考感悟等,都可以随手用记事App软件记录下来,以便后续查看。那方便的记事本app有哪些…

计算机网络-网络层上篇

目录 一、网络层概述 二、网络层提供的两种服务 (一)面向连接的虚电路服务 (二)无连接的数据报服务 (三)虚电路服务与数据报服务的比较 三、IPv4地址及其应用 (一)IPv4地址概…

构建WebRTC技术需要的后端服务

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不是…

JS相关介绍

1.JS引入: 内部:直接在html文件内部使用script标签调用 外部:另外新建JS文件,再在html文件中调用 2.输入输出: 输入:prompt(请输入您的姓名:) 输出:document.write(你们真是天才) 注…

Nginx代理nginx.conf配置——反向代理(对WebSocket支持)

一、需求说明 基于Nginx代理nginx.conf配置——反向代理,如果要添加websocket支持,需要进行如下配置 二、配置内容 在http中添加一下配置,添加对websocket支持 http {# 配置其它内容map $http_upgrade $connection_upgrade {default upgra…