1. 场景设计

场景设计的原则:忠于用户实际操作,组合用户的各种操作到场景中来。

JMeter场景主要通过线程组设置来完成的,对于复杂场景还需要与逻辑控制器配合完成。

2.场景设置

JMeter线程组实际上是建立一个线程池,JMeter根据用户的设置进行线程池的初始化,在运行时做各种异常的处理。

参数说明:

√ 名称:可以随意设置,最好有业务意义

√ 注释:可以随意设置,可以为空

√ 在取样器错误后要执行的动作:也就是其中的某一个请求出错后的异常处理方式。

  (1)继续:请求(Sampler元件模拟的用户请求)出错后继续运行;

  (2)Start Next Thread Loop:如果出错,则同一脚本中的余下请求将不再执行,直接重新开始执行;

  (3)停止线程:如果遇到请求(Sampler元件模拟的请求)失败,则停止当前线程,不再执行;

  (4)停止测试:如果某一线程的某一请求失败了,则停止所有线程,也就是 听下整个测试;

  (5)Stop Test Now:如果有现成的请求失败了,马上停止整个测试场景。

√ 线程属性:

  (1)线程数:运行的线程数设置,一个线程对应一个模拟用户

  (2)Ramp-Up Period(in second):线程启动开始运行的时间间隔,单位是秒;

  (3)循环次数:请求的重复次数,选择后面的forever,那么请求将一直继续除非停止或崩溃;如果不选择forever而在输入框中输入数字,那么请求将重复指定的次数;

  (4)Delay Thread creation util needed:勾选,线程在Ramp-up Period的间隔时间启动并运行;

  Java线程相关知识:

  (1)NEW:创建未启动,已经实例化,只是没有开始运行线程的Run方法;

  (2)RUNNABLE:就绪状态,线程对象创建后,其他现成调用了该对象的start()方法,该状态的线程位于可运行线程池中,已经准备好了只等获取CPU的使用权,然后开始运行;

  (3)RUNNING:运行状态,就绪状态的线程获取了CPU使用权执行程序代码;

  (4)BLOCKED:阻塞状态,线程因为某种原因放弃CPU使用权,暂时停止运行(典型的如IO等待导致的线程处于BLOCKED状态);直到线程进入就绪状态,才有机会转到运行状态;

  (5)DEAD:死亡状态,执行完毕或者异常退出,线程生命周期结束。

√ 调度器配置:设置何时开始运行

  (1)启动时间:测试计划什么时候启动,时间格式“2018/03/22 09:10:10”

  (2)结束时间:测试计划什么时候结束,时间格式“2018/03/22 12:13:14”

  (3)持续时间:测试计划持续多久时间,如果启动时间+持续时间大于结束的时间,那么此设置覆盖结束时间

  (4)启动延迟:点击执行按钮后(此时间未T),仅初始化场景,不运行线程,等待延迟到时候开始运行线程。

3. 场景运行

JMeter的场景运行方式分为两种,一种是GUI(视窗运行,即我们可以看到的运行界面)方式;一种是非GUI方式运行(命令窗口)。

JMeter的场景运行基于运行架构分为两种,一种是本地化运行,即单机运行;另一种是远程运行。

JMeter非GUI运行的命令:

(1)java -jar %JMETER_HOME%\bin\ApacheJMeter.jar -n -t %JMETER_HOME%\script\Jforum4-1-01.jmx -r -l result.jtl

(2)%JMETER_HOME%\bin\jmeter -n -t %JMETER_HOME%\script\Jforum4-4-01.jxm -l%JMETER_HOME%\result\results.jsl

4. 性能参数配置

5. 测试监听

性能测试监控的主要任务是获取运行状态收集测试结果,测试结果有事务响应时间、吞吐量及服务器硬件性能(CPU、内存、磁盘等)、JVM使用情况、数据库性能状态等。

  5.1 JMeter监听器

  常使用的监听器主要是Summary Report或者Aggregate Graph。

  Summary Report以表格的形式显示取样器结果,如果不同取样器(不同请求)拥有相同的名字,那么在Summary Report中会统计到同一行,所以在给取样器取别名时最好不要为空,建议按业务功能来取名。

  

  结果说明如下:

  √ Label:取样器别名(或者说是事务名),比如我们提交一笔订单,那么取样器我们可以命名为“订单提交

  √ #Samples:取样器运行次数(提交了多少笔业务)

  √ Average:请求事务的平均响应时间

  √ Min:请求的最小响应时间

  √ Max:请求的最大响应时间

  √ Std. Dev:响应时间的标准偏差

  √ Error%:事务错误率

  √ Throughput:吞吐率,常说的TPS

  √ Recevied/Sent KB/sec:每秒数据流量包,单位KB

  √ Avg.Bytes:平均数据流量,单位Byte

  在Summary Report界面可以设置结果属性(包含哪些结果字段),点击到下图所示界面。

  

  Aggregate Graph以表格形式显示取样器结果,如下图所示。

  

  结果说明:

  √ Lable:请求别名

  √ Samples:执行了多少次取样

  √ Median:响应时间中间值

  √ 90% Line:90%事务响应时间范围

  √ Min:最小响应时间

  √ Max:最大响应时间

  √ Error%:出错率

  √ Throghput:吞吐量,可以理解为TPS

  √ Received/Sent KB/sec:数据传输量,单位KB

JMeter学习笔记(六)-负载与监听的更多相关文章

  1. jmeter学习记录--03--jmeter负载与监听

    jmeter场景主要通过线程组设置完成,有些复杂场景需要与逻辑控制器配合. 一.测试计划设计与执行 场景设计 jmete线程组实际是一个线程池,根据用户设置进行线程池的初始优化,在运行时做各种异常的处 ...

  2. jQuery-mobile 学习笔记之三(事件监听)

    续上 触摸事件 - 当用户触摸屏幕时触发(敲击和滑动) 滚动事件 - 当上下滚动时触发 方向事件 - 当设备垂直或水平旋转时触发 页面事件 - 当页面被显示.隐藏.创建.载入以及/或卸载时触发 一.初 ...

  3. Jmeter 04 JMeter 负载与监听

    1. 场景设计 2. 场景设置 3. JMeter性能参数配置 4. 测试监听

  4. # go微服务框架kratos学习笔记六(kratos 服务发现 discovery)

    目录 go微服务框架kratos学习笔记六(kratos 服务发现 discovery) http api register 服务注册 fetch 获取实例 fetchs 批量获取实例 polls 批 ...

  5. Java IO学习笔记六:NIO到多路复用

    作者:Grey 原文地址:Java IO学习笔记六:NIO到多路复用 虽然NIO性能上比BIO要好,参考:Java IO学习笔记五:BIO到NIO 但是NIO也有问题,NIO服务端的示例代码中往往会包 ...

  6. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  7. Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  8. Typescript 学习笔记六:接口

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  9. python3.4学习笔记(六) 常用快捷键使用技巧,持续更新

    python3.4学习笔记(六) 常用快捷键使用技巧,持续更新 安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器.IDLE默认不能显示行号,使 ...

  10. Go语言学习笔记六: 循环语句

    Go语言学习笔记六: 循环语句 今天学了一个格式化代码的命令:gofmt -w chapter6.go for循环 for循环有3种形式: for init; condition; increment ...

随机推荐

  1. Eclipse 之使用技巧积累(一)

    1.代码缩进 选中缩进代码,然后点击“Tab”键增加缩进. 2.代码退格 选中退格代码,然后按住“Shift”键,再点击“Tab”键退格. 3.无格式代码格式化 (1)默认快捷键:Ctrl + Shi ...

  2. html5开放资料

    http://www.cnblogs.com/tim-li/archive/2012/08/06/2580252.html KineticJS教程(12) 摘要: KineticJS教程(12) 作者 ...

  3. 算法笔记_197:历届试题 带分数(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714. 还可以表示为:100 = 82 + 3546 / 197. ...

  4. 算法笔记_110:第四届蓝桥杯软件类省赛真题(JAVA软件开发高职高专组部分习题)试题解答

     目录 1 猜年龄 2 组素数 3 第39级台阶 4 核桃的数量 5 打印十字图 6 买不到的数目   前言:以下试题解答代码部分仅供参考,若有不当之处,还请路过的同学提醒一下~ 1 猜年龄 标题: ...

  5. 在 Java SE 6 中监视和诊断性能问题

    Java™ Platform, Standard Edition 6 (Java SE) 专注于提升性能,提供的增强工具可以管理和监视应用程序以及诊断常见的问题.本文将介绍 Java SE 平台中监视 ...

  6. javaweb笔记分享

    Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...

  7. ASP.NET 性能监控和优化入门

    关键要点: 只有与应用指标相关联,基础设施指标才能最大发挥作用. 高效性能优化的关键在于性能数据. 一些APM工具为ASP.NET提供了开箱即用的支持,这样入门使用ASP.NET仅需最小限度的初始设置 ...

  8. Loadrunner脚本编程(3)- 检查点,关联等函数

    http://www.360doc.com/content/10/0806/13/1698198_44078093.shtml 1.  错误预防和恢复 参数默认是用{}括起来的,但也可以指定用< ...

  9. 【转】SVN与Git比较

    摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这两种版本控制工具的异 ...

  10. HDUOJ----Good Luck in CET-4 Everybody!

    Good Luck in CET-4 Everybody! Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (J ...