Jmeter认知(一)

摘要:
Jmeter是一个用于性能负载测试的java开源工具。Jmeter可用于解释整个Jmeter测试计划中使用的正则表达式或模式的形式。采样器允许JMeter通过采样器向服务器发送特定类型的请求,线程组确定要发出的请求类型。它可以在JMeter可以运行的任何操作系统上运行。默认情况下,JMeter线程将不暂停地连续发送请求。通过同步,可以实现定时器JMeter尖峰测试。通过使用主从配置,JMeter可以执行分布式负载测试。

1.解释什么是jmeter?

  jmeter是一款java开源工具,用于性能负载测试。它旨在分析和衡量web应用程序和各种服务的性能和负载功能行为。

2.说明jmeter的工作原理?

  jmeter就像一群将请求发送到目标服务器的用户一样。它收集来自目标服务器的响应以及其他统计数据,这些统计数据通过图形或表格显示应用程序或服务器的性能。

3.说明可以在哪里使用函数和变量?

  变量和函数可以写入任何测试组件的任何字段。

4.提到jmeter中的正则表达式是什么?

  根据模式(patterns),使用正则表达式搜索和操作文本。jmeter可用于解释在整个jmeter测试计划中使用的正则表达式或模式的形式。

5.解释什么是采样器(Samplers)和线程组(Thread group)?

  线程组:对于任何测试计划,线程组元件都是JMeter的开始部分。这是JMeter的重要元件,你可以在其中设置多个用户和时间来加载线程组中给出的所有用户。
  采样器:采样器生成一个或多个采样结果;这些采样结果具有许多属性,例如经过时间、数据大小等。采样器允许JMeter通过采样器将特定类型的请求发送到服务器,线程组决定需要发出的请求类型。一些有用的采样器包括HTTP请求、FTP请求、JDBC请求等等。

 6、使用JMeter构建的测试计划是否依赖于操作系统?

  通常,测试计划以XML格式保存,因此与任何特定的操作系统都没有关系。它可以在JMeter可以运行的任何操作系统上运行。

7、提到JMeter中处理器的类型是什么?
  JMeter中的处理器类型为:①预处理器;②后处理器。

8、解释什么是预置处理器元件?列出一些预处理器元件?
  预置处理器是在采样器执行之前发生的事情。为了在执行采样请求之前对其进行配置,或者用于更新未从响应文本中提取的变量,需要使用预处理器元件。
一些预处理器元件是:

  • HTTP URL重写修饰符
  • HTTP用户参数修饰符
  • HTML链接解析器
  • BeanShell PreProcessor

9、是否提到测试元件的执行顺序?
  测试计划元件的执行顺序为:
  配置元件 -> 前置处理器 -> 计时器 -> 取样器 -> 后置处理器 -> 断言 -> 监听器

10、正则表达式中的“包含”和“匹配”表示什么?
  在正则表达式中,contains表示正则表达式与目标的至少一部分匹配。匹配表示正则表达式匹配整个目标。如“alphabet”与“al.*t”匹配。

11、解释什么是配置元件?
  配置元件与采样器并行工作。要设置默认值和变量以供采样器以后使用,可以使用配置元件。在合并范围的开始,将先处理这些元件,然后再处理同一合并范围中的任何采样器。

12、说明JMeter中的计时器是什么,计时器的类型是什么?
  默认情况下,JMeter线程将连续发送请求而不会暂停。为了在请求之间暂停,使用了计时器。使用的一些计时器包括恒定计时器,高斯随机计时器,同步计时器,均匀随机计时器等。

13、解释什么是测试片段?
  测试片段也是一种元件,例如“线程组”元件。唯一的区别是,除非模块控制器或包含控制器引用了测试片段,否则不会实现测试片段。

14、解释什么是JMeter中的断言?断言的类型有哪些?
  断言有助于验证被测服务器是否返回了预期结果。
  JMeter中一些常用的断言是:

  • 响应断言
  • 持续时间断言
  • 大小断言(Size Assertion)
  • XML断言
  • HTML断言

15、说明如何减少JMeter中的资源需求?
  ①使用非GUI模式执行测试,如 jmeter –n –t test.jmx –l test.jtl
  ②在加载期间,测试不使用“查看结果树”或“查看表中的结果”监听器,仅在脚本编写阶段使用它们;
  ③不要使用功能模式;
  ④与其使用大量相似的采样器,不如在循环中使用相同的采样器,并使用变量来改变采样;

16、解释如何在JMeter中执行尖峰测试(Spike testing)?
  通过同步,可以实现计时器JMeter尖峰测试。同步计时器将阻塞线程,直到阻塞了特定数量的线程,然后将它们全部释放,从而产生了巨大的瞬时负载。
小贴士:尖峰测试 也可以称为冲击测试,反复冲击服务器。指的是在某一瞬间或者多个频次下用户数和压力陡然增加的场景。

17、解释如何在JMeter中捕获身份验证窗口的脚本?
  通常,可以通过录制来捕获脚本:
  首先,必须在Testplan(测试计划)中使用 Threadgroup,然后在 Workbench(工作台) 中使用HTTP代理服务器;
  之后,在“全局设置”框中设置端口号(如8911),然后在 IE高级选项>连接>局域网设置中 开启 代理设置,并将地址修改为localhost,端口改为8911。
然后,HTTP代理服务器中选择 目标控制器 Testplan>Threadgroup,然后启动HTTP代理服务器并运行应用进行登录。

18)列出几个JMeter监听器?
  一些JMeter监听器是:

  • 集合报告
  • 汇总报告
  • 查看结果树
  • 用表格查看结果
  • 图形结果
  • BeanShell Listener
  • 摘要报告等

19、什么是分布式负载测试?如何实现?
  分布式负载测试是整个系统可以用来模拟大量用户负载的过程。通过使用主从配置,JMeter可以进行分布式负载测试。

20、在JMeter中是否有必要显式调用嵌入式资源?
  你可以消除所有嵌入式资源的显式调用。请求底部有一个复选框,显示“检索嵌入式资源(retrieve embedded resources.)”。它会捕获所有CSS、JPG等。这是在Web应用中查找资源和断开链接的绝妙方法。

21、解释计时器(Timer)在JMeter中的作用是什么?
  在计时器的帮助下,JMeter可以延迟线程发出的每个请求之间的时间。它可以解决服务器的过载问题。

22、解释什么是后置处理器?
  要在发出请求后执行任何操作,则使用后处理器。例如,如果JMeter向Web服务器发送HTTP请求,并且如果你希望JMeter在Web服务器显示错误时停止发送请求,那么你将使用后处理器执行此操作。

23、JMeter为性能测试提供什么好处?
  JMeter提供性能测试方面的优势,例如:

  • 它可以用于测试静态资源和动态资源的性能;
  • 它可用于测试网站最大并发用户数,从而分析定位网站瓶颈;
  • 它提供了性能报告的图形化分析;

免责声明:文章转载自《Jmeter认知(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇RocketMQ入门介绍微信小程序,时间戳和日期格式互相转化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

理解杀进程的实现原理

copy from : http://gityuan.com/2016/04/16/kill-signal/ 基于Android 6.0的源码剖析, 分析kill进程的实现原理,以及讲讲系统调用(syscall)过程,涉及源码: /framework/base/core/java/android/os/Process.java /framework/bas...

jmeter 逻辑控制器Logic Controller详解

Jmeter之逻辑控制器(Logic Controller) 前言: 1、 Jmeter官网对逻辑控制器的解释是:“Logic Controllers determine the order in which Samplers are processed.”。意思是说,逻辑控制器可以控制采样器(samplers)的执行顺序。由此可知,控制器需要和采样器一起...

自己动手开发编译器(二)正则语言和正则表达式

从今天这一篇起,我们就来正式揭开编译器的奥秘。首先我们接触到的模块是词法分析器,也叫词法扫描器,代码里我常常叫它Scanner。昨天我稍微解释了一下为什么需要将词法分析单独分离出来,今天来回顾一下这个问题。请看下面这段C#代码: string str = "Hello World"; 即使没有语法高亮,这段代码也可以很明显地分成好几部分。首先是关键字str...

linux C sscanf()函数

linux sscanf() 类似正则表达式,又不完全是正则表达式。    分割 ”/“ 或 "@" 或空格 要用 [^/] 例如:  sscanf("iios/12DDWDFF@122", "%*[^/]/%[^@]", buf); printf("%s ", buf); 结果为:12DDWDFF  分割"," 或 ":"或"-"。  sscanf(“h...

linux 启动 jmeter 报 No X11 DISPLAY variable was set, but this program performed an operation which requires it

1.启动jemter An error occurred:No X11 DISPLAY variable was set, but this program performed an operation which requires it.解决办法: 1.安装图形服务x11 yum -y install xorg-x11-xauth xorg-x11-s...

饿了么全链路压测平台的实现与原理

背景 在上篇文章中,我们曾介绍过饿了么的全链路压测的探索与实践,重点是业务模型的梳理与数据模型的构建,在形成脚本之后需要人工触发执行并分析数据和排查问题,整个过程实践下来主要还存在以下问题: 测试成本较高,几乎每个环节都需要人力支撑,费时费力。 由于测试用例较多,涉及的测试机范围较广,手工执行容易犯错,线上测试尤其危险。 记录结果和测试报告极不方便,需要...