性能测试工具
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 压测脚本必须有的组件有哪些?
公司
- 某金融公司
招聘类型
- 社招
- 校招
答案
-
线程组(Thread Group):线程组是压测场景的基本单元,用于模拟并发用户。你可以配置线程组的用户数量、循环次数、启动时间和停止时间等。
-
采样器(Sampler):采样器定义了需要执行的压测操作,如发送 HTTP 请求、数据库查询或 FTP 上传等。常见的采样器类型包括 HTTP Request、JDBC Request、FTP Request 等。
-
定时器(Timer):定时器用于调整压测请求之间的间隔时间,以模拟真实的负载情况。你可以根据需求选择适当的定时器类型,如 Constant Timer、Gaussian Random Timer 等。
-
配置元件(Configuration Element):配置元件用于设置压测过程中的一些参数,如 HTTP Cookie Manager 用于管理请求中的 Cookie、CSV Data Set Config 用于从文件中读取测试数据等。
-
断言(Assertion):断言用于验证响应结果是否符合预期。你可以根据需求选择适当的断言类型,如 Response Assertion、JSON Assertion 等。
-
监听器(Listener):监听器用于收集和展示压测结果。常用的监听器类型包括 View Results Tree、Summary Report、Aggregate Report 等。
-
配置文件(Configuration File):配置文件用于存储一些全局配置信息,如服务器地址、端口号、用户登录信息等。
以上是一个简单的 JMeter 压测脚本必须包含的关键组件。根据具体需求,你还可以添加其他组件来进行更复杂的压测场景配置,如使用逻辑控制器来定义测试流程、使用前置处理器和后置处理器来设置预处理和后处理逻辑等。