Skip to content

性能测试工具

JMeter 和 LoadRunner 的区别

面试题目

  • JMeter 定时器的作用是什么

公司

  • 某金融公司

招聘类型

  • 社招
  • 校招

答案

JMeter 和 LoadRunner 都是性能测试工具,用于模拟并发用户负载并测量应用程序在这种情况下的性能。它们的主要区别如下:

  • 开源 vs 商业:JMeter 是一个开源工具,可以免费使用和修改,而 LoadRunner 是一款商业工具,需要购买使用许可证。
  • 支持的协议:JMeter 支持 HTTP、FTP、SOAP、REST 等协议,而 LoadRunner 支持更多的协议,包括 HTTP、FTP、SMTP、JDBC、ORACLE 等。
  • 界面:JMeter 的界面相对简单,比较适合初学者使用,而 LoadRunner 的界面比较复杂,需要一定的学习成本。
  • 脚本录制:LoadRunner 有比 JMeter 更强大的脚本录制功能,可以自动生成脚本,而 JMeter 需要手动编写脚本。
  • 报告生成:LoadRunner 有更多的图表和报告模板可供选择,生成的报告更加详细和直观,而 JMeter 的报告则相对简单。
  • 执行性能:LoadRunner 的性能相对更好,可以模拟更多的并发用户,而 JMeter 的性能相对较差,对于非常大规模的负载可能会遇到性能瓶颈。

总的来说,JMeter 和 LoadRunner 都有各自的优缺点,选择哪一个取决于具体的需求和预算。对于小规模和简单的应用程序,JMeter 可能是一个更好的选择,而对于大规模和复杂的应用程序,LoadRunner 可能更适合。

JMeter 定时器的作用是什么

面试题目

  • JMeter 定时器的作用是什么

公司

  • 某金融公司

招聘类型

  • 社招
  • 校招

答案

  • JMeter 中的定时器(Timer)用于模拟用户之间的时间间隔。它的作用是在发送请求之前,让线程等待一段时间,以模拟真实用户之间的时间间隔,从而更真实地模拟负载和性能测试场景。
  • 在性能测试场景中,如果多个用户同时对系统发出请求,会造成大量的并发访问,这可能会导致系统出现负载过高、响应时间过长等问题。通过使用定时器,可以让每个线程在发送请求之前等待一定的时间,以模拟用户之间的时间间隔,从而减缓对系统的并发压力,使测试更真实。
  • JMeter 提供了多种类型的定时器,如固定定时器、随机定时器、高斯随机定时器等。可以根据具体的测试场景和需求选择不同的定时器类型,并设置不同的时间间隔。

JMeter 聚合报告包括哪些内容

面试题目

  • JMeter 聚合报告包括哪些内容?

公司

  • 某金融公司

招聘类型

  • 社招
  • 校招

答案

问题

  • 在工作中,使用 JMeter 做过压力测试吗?

  • 对 JMeter 聚合报告熟悉吗?

  • 介绍一下 JMeter 聚合报告包括哪些内容?

考察点

面试官想了解:

  • 是否用过 JMeter

  • 对 JMeter 组建是否熟悉

  • 是否用过 JMeter 聚合报告

技术点

  • 涉及的技术点:
  • JMeter 报告组件

回答

  • 聚合报告是在做性能压测经常会使用的一个监听器,对应该监听器中每个参数需要了解它具体代表的指标含义:

Label

  • 显示的是 JMeter 中压测脚本中请求的名称

样本

  • 代表的是请求数。具体数字标明这一次压测脚本运行时一共发出的请求个数。

  • 比如,模拟 10 个用户,每个用户对应并发 10 次,则样本数为 100

平均值

  • 平均响应时间。默认情况下是单个 Request 的平均响应时间

中位数

  • 就是 50% 并发的用户响应时间

90% 百分位

  • 90% 用户的响应时间

最小值

  • 最小响应时间

最大值

  • 最大响应时间

异常%

  • 也就是请求的错误率。计算公式为:错误请求数/请求总数

吞吐量

  • 默认情况下表示每秒完成的请求数

接收 KB/Sec

  • 每秒从服务器端接收到的数据量

以上就是对应聚合报告中参数指标以及含义。一般,在性能测试中需要重点关注的参数:样本请求数,平均响应时间,最小值,最大值,异常及吞吐量。

JMeter 中什么是组件?什么是元件

面试题目

  • JMeter中什么是组件?什么是元件?

公司

  • 某金融公司

招聘类型

  • 社招

答案

  • 在JMeter中,"组件"和"元件"这两个术语常常被混用,其实它们指的是相同的东西,即JMeter中的各种功能模块。

  • 组件(Component)是指在JMeter压力测试脚本中使用的各种功能模块,如线程组、采样器、定时器、断言、监听器等。这些组件有不同的作用和功能,它们可以组合在一起构成一个完整的压力测试场景。

  • 元件(Element)是指JMeter中的各个组件的具体实现。每个组件都被称为一个元件,如HTTP Request Sampler、Constant Timer、View Results Tree Listener等。它们是JMeter中不同功能的具体实现,可以通过配置参数来定制它们的行为。

  • 因此,组件和元件实际上指的是同一概念,都是指JMeter中用来构建压力测试脚本的各种功能模块。组件提供了不同的测试功能,而元件是这些功能的具体实现。

一个 JMeter 压测脚本必须有的组件有哪些

面试题目

  • 一个 JMeter 压测脚本必须有的组件有哪些?

公司

  • 某金融公司

招聘类型

  • 社招
  • 校招

答案

  1. 线程组(Thread Group):线程组是压测场景的基本单元,用于模拟并发用户。你可以配置线程组的用户数量、循环次数、启动时间和停止时间等。

  2. 采样器(Sampler):采样器定义了需要执行的压测操作,如发送 HTTP 请求、数据库查询或 FTP 上传等。常见的采样器类型包括 HTTP Request、JDBC Request、FTP Request 等。

  3. 定时器(Timer):定时器用于调整压测请求之间的间隔时间,以模拟真实的负载情况。你可以根据需求选择适当的定时器类型,如 Constant Timer、Gaussian Random Timer 等。

  4. 配置元件(Configuration Element):配置元件用于设置压测过程中的一些参数,如 HTTP Cookie Manager 用于管理请求中的 Cookie、CSV Data Set Config 用于从文件中读取测试数据等。

  5. 断言(Assertion):断言用于验证响应结果是否符合预期。你可以根据需求选择适当的断言类型,如 Response Assertion、JSON Assertion 等。

  6. 监听器(Listener):监听器用于收集和展示压测结果。常用的监听器类型包括 View Results Tree、Summary Report、Aggregate Report 等。

  7. 配置文件(Configuration File):配置文件用于存储一些全局配置信息,如服务器地址、端口号、用户登录信息等。

以上是一个简单的 JMeter 压测脚本必须包含的关键组件。根据具体需求,你还可以添加其他组件来进行更复杂的压测场景配置,如使用逻辑控制器来定义测试流程、使用前置处理器和后置处理器来设置预处理和后处理逻辑等。