0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

JMeter工具可用于性能测试来模拟真实的用户场景

星星科技指导员 来源:嵌入式计算设计 作者:Maulik Patel 2022-06-19 16:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

性能测试是一种非功能测试技术,用于确定系统参数在各种工作负载下的响应性和稳定性。性能测试衡量系统的质量属性,例如可扩展性、可靠性和资源使用情况。性能测试帮助产品所有者确定产品解决方案的基准。性能测试的目标不仅是发现代码中的错误,而且要找出瓶颈。在性能测试中,质量工程师使用任何可用于性能测试的工具来模拟真实的用户场景。

Apache JMeter 是一个开源 Java 桌面应用程序,旨在执行负载测试和检查 Web 应用程序的功能行为。质量工程师可以使用 JMeter 来分析和测量 Web 应用程序或各种服务(包括 Rest API)的响应时间。它可用于模拟服务器、网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。JMeter 与 JDK 5 或更高版本兼容。

此外,JMeter 通过让您创建带有断言的测试脚本来验证您的应用程序是否返回了您期望的结果,从而帮助您对应用程序进行回归测试。为了获得最大的灵活性,JMeter 允许您使用正则表达式创建这些断言。请注意,JMeter 不是浏览器——它在协议级别工作。

JMeter 支持的协议包括:

HTTP、HTTPS 站点

网页服务

通过 JDBC 驱动程序的数据库

目录 – LDAP

管理系统

SMTP

FTP 服务

JMeter 特点:

它有一个简单且用户友好的 GUI。

它独立于平台。在 Windows 上,可以使用 JMeter.bat 文件启动 JMeter 测试,在 Unix/Linux 上,通过单击 JMeter Shell Scripts 启动测试。

它以 XML 格式创建和存储其测试计划。这表明我们可以使用文本编辑器生成或创建测试计划。

它是一个多线程框架,用于使用多个线程进行并发采样。

它有助于自动化功能测试。

它是如何工作的?

JMeter 模拟一组用户向目标服务器发送请求,并通过表格、图表等返回显示目标服务器/应用程序性能/功能的统计信息(图 1、3-5)。

pYYBAGKu1-aAbvUnAAEE39heDV8035.png

【图1 | JMeter模拟]

要使用 JMeter,必须定义测试计划,这意味着必须指定:

要访问的 http 或其他 URL 或要运行的 SQL 查询

如何存储/显示结果

运行多少线程来创建所需的负载/压力

在 JMeter 术语中,这些称为线程、采样器、侦听器等。完整的测试计划包含所有这些。要创建它,请右键单击 JMeter GUI 左侧窗格中的“Test Plan”并添加所需的元素(图 2)。

poYBAGKu1--ASoP6AAFYbbVSfFE032.png

【图2 | JMeter的测试元素]

Apache JMeter 如何模拟多个用户?

让我们看一下网页请求是如何从用户的浏览器发送到网络服务器的,以及网页最终是如何显示的。理解这个工作流程将使我们有机会想象 JMeter 如何适应这个工作流程,以及它如何能像浏览器一样做同样的事情。

步骤 1:用户在浏览器中执行操作,即键入站点地址、单击链接或填写表单并按提交。

在 JMeter 中,这不是必需的。

第 2 步:浏览器创建 HTTP 格式的请求并将其发送到服务器。

在 JMeter 中,这成为一个 HTTP 请求采样器。HTTP 请求采样器以 HTTP 格式发送请求。

第 3 步:Web 服务器接收 HTTP 请求,创建 HTML 响应,并将 HTML 发送回浏览器。

在 JMeter 中,对于服务器来说,它是相同的请求。

第 4 步:浏览器接收 HTML。

在 JMeter 中,HTTP 请求采样器接收 HTML 响应并将其记录下来以供分析。

第 5 步:浏览器在屏幕上呈现 HTML,以便用户可以看到文本和颜色 (GUI)。

JMeter 不会像浏览器那样呈现 HTML。

那么,就 JMeter 而言,是什么促成了一次用户事务呢?

HTTP 请求采样器以 HTTP 格式发送请求。》 服务器接收 HTTP 请求,创建 HTML 响应并将 HTML 发送回 HTTP 请求采样器。》 HTTP 请求采样器接收 HTML 响应并记录它以供分析。

当我们在 JMeter 测试计划中添加一个 HTTP Request Sampler 时,它会存储一个网页调用和接收序列。我们可以将其称为单用户事务。一旦我们将这个告诉 JMeter,它就可以做同样的事情 n – 次数。它还同时多次执行此操作。

最后,JMeter 通过制作采样器的副本并在单独的线程中运行它们来模拟多个用户。

因为 JMeter 不完全是浏览器,所以 HTTP 请求采样器使所有接收到的数据都可用于进一步分析。View Tree Listener 用于可视化接收到的响应。View Tree Listener 是了解发送了什么请求、响应是什么以及事务结果的好方法。

为什么选择 JMeter?

JMeter 是一个开源工具,拥有众多虚拟用户的支持。

脚本在 JMeter 中不是必需的,但像 Loadrunner 这样的工具需要在 C 中编写脚本。

与其他工具相比,它可以轻松进行参数化和关联。

虚拟用户的设置不需要额外的配置,因为它会在 JVM 上自动生成 v-users

JMeter 是跨平台的。

poYBAGKu1_yAXg_yAAFH6RklJo0996.png

【图3 | JMeter接口

pYYBAGKu2AaAfjTyAAFGt3CipEw470.png

【图4 | 以表格形式报告]

【图5 | 以图形格式报告]

结论

JMeter 工具易于用于在 Web 应用程序服务器上注入负载。开发和质量工程师可以使用 JMeter 工具轻松模拟服务器上的繁重负载,无需为虚拟用户进行额外设置,无需额外的脚本编写工作,并且可以以图表和表格摘要的形式测量准确的响应时间。JMeter 结果图表有助于定位瓶颈并提高 Web 服务器应用程序的性能。质量工程师可以通过分析 JMeter 结果图表来识别罪魁祸首 RestAPI。JMeter 工具还用于执行服务器基准测试和可扩展性测试。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    13

    文章

    10093

    浏览量

    90886
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

    115683
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何选择适合的智驾仿真工具进行场景生成和测试

    工具性能与特点,以帮助开发者优化自动驾驶系统的测试效率与安全性。 在选择适合的智驾仿真工具进行场景生成和
    的头像 发表于 11-25 10:32 152次阅读
    如何选择适合的智驾仿真<b class='flag-5'>工具</b>进行<b class='flag-5'>场景</b>生成和<b class='flag-5'>测试</b>?

    攻击逃逸测试:深度验证网络安全设备的真实防护能力

    逃逸攻击,真实模拟高级攻击者使用的躲避手法。 场景测试支持:平台适用于多种测试场景,包括设备评
    发表于 11-17 16:17

    如何进行动态策略的性能测试

    动态策略的性能测试核心是 “ 量化关键指标、模拟真实负载、验证极限能力 ”,聚焦 “响应速度、功耗控制、实时性、资源占用” 四大核心维度,通过精准
    的头像 发表于 11-13 17:55 1997次阅读
    如何进行动态策略的<b class='flag-5'>性能</b><b class='flag-5'>测试</b>?

    有哪些工具可以模拟特定设备或装置进行通信测试

    以下是模拟特定设备或装置进行通信测试的主流工具分类及具体推荐,覆盖工业自动化、电力系统、物联网等多领域需求,并附详细应用场景与操作特点: 一、工业协议
    的头像 发表于 11-12 10:35 84次阅读
    有哪些<b class='flag-5'>工具</b>可以<b class='flag-5'>模拟</b>特定设备或装置进行通信<b class='flag-5'>测试</b>?

    蓄电池综合测试仪是评估电池性能的重要工具

    测试、容量检测、内阻测量、循环寿命评估及安全性考核于一体,通过模拟真实骑行条件,对电池进行全面而精准的测试。该设备能够适用于多种类型的电池,
    的头像 发表于 10-10 16:03 471次阅读
    蓄电池综合<b class='flag-5'>测试</b>仪是评估电池<b class='flag-5'>性能</b>的重要<b class='flag-5'>工具</b>

    成品电池综合测试仪:保障电池品质与安全的核心工具

    随着新能源汽车、储能系统、消费电子等领域的快速发展,电池作为核心能源组件,其性能与安全性直接关系到产品的整体质量与用户体验。成品电池综合测试仪作为电池生产与质检环节的关键设备,通过模拟
    的头像 发表于 07-24 10:43 395次阅读

    使用AFG31000系列信号发生器精准复制真实场景信号

    在电子工程与测试测量领域,精准复制真实场景信号是进行设备性能测试、系统仿真和故障诊断的关键。泰克AFG31000系列信号发生器凭借其宽频带覆
    的头像 发表于 03-20 11:45 599次阅读
    使用AFG31000系列信号发生器精准复制<b class='flag-5'>真实</b><b class='flag-5'>场景</b>信号

    取样示波器的技术原理和应用场景

    和接收信号波形,通过观察波形的变化判断故障的原因。 电子测试:在电子设备的研发和生产过程中,取样示波器可用于测试电路板的性能、检查元器件的
    发表于 03-12 14:34

    敏捷合成器的技术原理和应用场景

    ,在多个领域具有广泛的应用场景: 通信测试:在通信设备的研发和生产过程中,敏捷合成器可用于生成各种调制信号和测试信号,以验证设备的性能和稳定
    发表于 02-20 15:25

    GNSS模拟器用于消费电子、导航芯片与定位终端测试

    在消费电子、导航芯片与定位终端快速发展的今天,精准的定位性能测试已成为产品竞争力的关键。GNSS模拟器作为行业领先的测试工具,能够模拟复杂多
    的头像 发表于 02-19 15:36 953次阅读
    GNSS<b class='flag-5'>模拟器用于</b>消费电子、导航芯片与定位终端<b class='flag-5'>测试</b>

    时域反射计的技术原理和应用场景

    OTDR)可用于测量光缆的长度、损耗大小以及接头损耗等,确保光缆的施工质量和性能满足要求。在光缆线路运行过程中,OTDR可用于检测光缆的故障点位置、损耗大小等,帮助维护人员快速定位并修复故障
    发表于 02-11 14:39

    混合信号分析仪的原理和应用场景

    分析仪可以同步观测多个模拟和数字信号,特别适用于嵌入式系统及外围电路的测试。通过捕获和分析这些信号的波形,工程师可以评估系统的性能和稳定性,并进行必要的优化和调整。 通信系统分析与调试
    发表于 01-21 16:45

    信号分析仪的原理和应用场景

    等参数;在电气系统中,可用于评估和监测能效,诊断不平衡、谐波、电流失真等问题。同时,它还可用于可再生能源系统(如太阳能光伏板、风力发电机)的性能测试和优化,以及电网参数的监测。综上所述
    发表于 01-17 14:37

    微波网络分析仪的原理和应用场景

    设备(如干扰机、侦察机等)的性能。 此外,微波网络分析仪还可用于测量网络的阻抗、传输和反射特性等,有助于了解网络在不同频率下的电气特性。同时,其高精度和稳定性也使其成为微波领域研究和制造过程中不可或缺的工具。综上所述,微波网络分
    发表于 01-15 14:56

    E2000 Speedometer测试浏览器性能

    设计的基准测试工具,旨在通过模拟用户交互测量 Web应用的响应速度 。其核心目标是尽可能真实地反映现实世界的Web体验。当浏览器在Spee
    发表于 01-10 21:33