什么是 Jmeter?

JMeter 仍然是 当今市场上最受欢迎的开源功能和负载测试应用程序之一。 它广泛支持 HTTP/S、SOAP、REST、FTP、LDAP、SMTP、POPP3 和 IMAP(以及许多其他协议),是面向性能测试工程师和团队的经济高效且高度可配置的负载测试解决方案

此外,作为一个完整的 Java 软件,JMeter 是独立平台的,可以在各种平台上运行。 此外,JMeter 还积极维护和支持。 有许多插件可以帮助 JMeter 用户自定义他们的测试,以及一个庞大的用户支持社区,以依靠测试建议和帮助。

JMeter 负载测试:缺点

尽管我们上面提到的很多好处,JMeter仍然有几个关键的主要缺点。

基于协议的负载测试

首先,它只能执行协议级测试。 对于希望测试基于 JavaScript 的应用程序(如角、Ember、挖空等)或基于 AJAX 的应用程序的开发人员,他们必须找到不同的解决方案。 许多现代浏览器严重依赖JavaScript和AJAX,这是了解 网站 或应用程序性能的重要因素。 JMeter不能像浏览器那样呈现HTML,因此这在完全理解负载下的完整 用户体验 方面留下了很大的差距。

系统限制/硬件功能

其次,JMeter 要求将其安装在本地机器上,这意味着用户必须首先确保他们具备必要的硬件要求和适当的设置,这可以证明是耗时的,并且可能涉及对硬件的额外投资。 因此,运行大型测试可能会很快导致系统资源耗尽或导致错误。 由于测试是从本地机器和网络执行的,性能工程师无法根据来自不同地理位置或用户所在位置的负载来测量性能,这是了解您的网站或应用程序在真实条件下如何站立的关键部分。

复杂界面

最后,JMeter 是一个复杂的负载测试解决方案。 它不像 当今市场上的其他一些负载测试解决方案那样用户友好。 对于新用户来说,仅仅开始了解或理解软件的所有功能可能是一项艰巨的任务。 有许多组件、功能和属性需要更高层次的知识和理解,然后才能潜入构建和执行测试。 虽然这一切都可以 随着时间的推移而学习 ,但对于希望只专注于测试并能够快速轻松地设置和配置负载测试的工程师和开发人员来说,这是一个障碍。

如何与 JMeter 执行负载测试

如何构建 JMeter 测试计划

负载测试需要一些研究和规划。 您不能只是开始创建 计划或 脚本,并期望您可以即时构建测试。 理想情况下,您需要在开始设置负载测试之前构建测试要求、范围、标准等。 这可能需要您从各种来源收集信息,例如分析 交通数据工具、会话持续时间和高峰时段的访客数量,或查看以前的广告系列数据以更好地了解负载量,或 并发用户,您将针对您的网站或应用程序进行测试。

关键是要制定一个与您的环境相匹配的计划,并 尽可能模拟真实场景。 准备好计划后,您可以在 JMeter 中开始设置测试计划,该计划由各种元素组成。 基本的 JMeter 负载测试由测试计划、线程组和取样器组成。

创建 JMeter 测试计划

以下是设置 JMeter 测试计划的基本步骤和要求。

1. 添加线程组

线程组表示负载测试所需的并发用户。 您可以通过右键单击 测试计划 > 添加 > 线程(用户) > 线程组访问线程组

从线程组属性对话框中,您还可以设置以下属性:

    • 线程数(用户)
    • 增补期(秒内)
    • 循环计数(多少次测试迭代)
    • 其他操作,如延迟、测试开始和停止时间,以及采样器错误后要采取的操作。

或者,您可以通过访问 文件 > 模板 > 选择模板 或从工具栏中选择模板图标来选择各种测试模板,而不是从”线程组”开始。

从这里你可以看到各种模板选择,包括模板的网络服务测试,网络测试计划,功能测试,和许多其他。 这些模板自动包括用于构建测试计划的所有必要元素、部分和字段。

2. 配置采样器

采样器允许 JMeter 发送不同类型的请求,例如 HTTP(用于网站、应用程序或 API)、FTP、SMTP、TCP 以及其他类型的请求。 您可以通过右键单击 线程组 > 添加 > 采样器来访问采样器 ,并选择适合您的测试要求的采样器。

从配置采样器字段中,显示您输入的其他详细信息,如下所示:

    • 协议 (HTTP/S)
    • 服务器名称或IP
    • 路径(用于特定网页)
    • 用于 API 负载测试的请求类型(GET、POST、头、PUT 等)。
3. 如何配置听众

侦听器允许您查看 采样器的结果。 要访问听众,请导航到 线程组 > 添加 > 采样 > 器听者

您可以从超过 15 名听众中的任何一位进行选择。 听众都包含相同的数据,但不同的是这些数据是如何在视觉上显示的。 此外,您可以在 JMeter 测试计划中添加多个监听器。 您将看到的听众类型包括:

    • Summary Report
    • 聚合图
    • 查看结果树
    • 查看表中的结果
    • 简单数据编写器
    • 豆壳听众
    • 还有更多…
4. 如何记录负载测试脚本(可选)

如果您只是想要运行基本的 HTTP 或协议级负载测试,则可以转到下一步并运行您的 JMeter 负载测试。 但是,如果您需要配置需要模拟特定用户操作和路径的测试,则需要使用 HTTP (S) 测试脚本记录器。 请记住,您不是从真正的浏览器录制脚本,只是捕获 HTTP 流量。 以下是您需要遵循的步骤:

    1. 添加录制控制器(位于线程组中)
    2. 浏览您的网站或应用程序
    3. 通过 HTTP/S 请求记录您的操作

或者,您可以选择使用JMeter代理服务器。 此选项允许您从浏览器录制 脚本 ,但设置可能很耗时。 要使用 JMeter 代理服务器,请按照以下步骤进行:

    1. 导航到系统的代理设置。
    2. 导入 JMeter 证书。
    3. 配置代理设置。
5. 运行您的 Jmeter 测试

一旦您配置了您的听众,您的 JMeter 测试计划终于准备好了,您可以运行您的 JMeter 负载测试。 运行 JMeter 测试的方法多种不同,但请务必先保存测试计划。

    • 选项 1:选择绿色三角形/箭头来运行测试。
    • 选项 2:在工具栏中选择”运行”按钮。
6. 审查和分析您的 JMeter 测试结果。

您可以在测试运行时查看您的 JMeter 测试结果。 例如,如果您在 表中选择了”查看结果”, 则将看到每次运行时显示的结果或执行的用户。 结果中还包括以下其他指标:

    • 时间(以毫秒为限)
    • 状态(显示有效响应和错误)
    • 字节和字节发送
    • 延迟
    • 连接时间

从这些结果中,您可以看到发生任何错误或 加载时间可能较慢的位置。 此外,您将能够将您的 JMeter 测试计划与测试结果进行比较,并利用这些数据进行性能改进和优化。 您也可以选择在增加负载量时运行额外的负载测试。

但是,正如我们之前讨论的一些缺点所概述的,就负载测试的规模而言,JMeter 有其局限性,无法执行大规模测试。 为此,像 LoadView 这样的现代负载测试解决方案比使用 JMeter 更有效。

负载视图平台

LoadView 平台消除了 JMeter 等开源负载测试解决方案的限制。LoadView 是一种基于云的负载测试解决方案,为性能工程师提供了一种更简单的方法来测试网站、Web 服务/API、Web 应用程序等。 无需在昂贵的硬件升级上进行投资,也无需担心管理负载发生器。 LoadView 平台消除了那些耗时且繁琐的任务,因此性能工程师和团队可以专注于测试和 改进他们的站点、应用程序和 API。

带负载视图的 JMeter 负载测试

使用负载视图克服您的 JMeter 负载测试限制

此外,LoadView 提供了来自世界各地的 40 多个地理位置,因此您可以真实地了解所有站点、应用程序或 API 在这些位置的表现,从而为您提供更真实的测试结果和这些元素在用户面前的表现数据。 此外,通过利用全球云发生器网络,您可以将测试扩展到成千上万的并发用户,而像 JMeter 这样的开源负载测试解决方案无法提供这些用户。

负载视图:缩放您的 JMeter 负载测试

如果您一直在使用 JMeter,并且正在寻找执行大规模测试的更好方法,LoadView 平台提供了一种自动无缝的方式将 您的 JMeter 测试计划传输到 LoadView 中,并在几分钟内运行 JMeter 负载测试。 LoadView 平台具有直观的界面和多个负载曲线、全球测试位置和全面性能报告等功能,是 JMeter 的绝妙替代方案。 让我们看看如何使用 JMeter 脚本在 LoadView 中设置负载测试。

设置带负载视图的 JMeter 负载测试的步骤

如果您没有 LoadView 帐户, 则设置一个帐户是快速和容易的. 此外,我们将为您提供最多 5 个免费负载测试来启动。

1. 保存您的 JMeter 脚本

在 JMeter 应用程序中,将您的 JMeter 测试计划保存到本地计算机上的 JMX 文件。

2. 登录到负载视图

接下来, 登录到您的 LoadView 帐户 并选择 JMeter 测试类型选项。

3. 导入您的 JMeter 脚本

在配置任务页面上,选择”导入”以导入您的 JMX 文件。 该文件的 XML 内容将在 JMeter 项目字段中提供。 请求参数将在导入时自动转换为 LoadView JMeter 项目,并包括以下参数:

    • 目标网址或 IP
    • 通往终点的路径
    • 请求类型
    • 请求头
    • 文本断言

注意:负载视图不会将线程组设置导入负载视图 JMeter 项目。 线程属性(线程数、增量周期等)可以通过在 LoadView 中设置负载测试执行场景进行配置。 从这里,您还可以编辑该字段中的 XML 代码(如有必要)。

作为另一种选项,在”设置”字段中,您可以设置测试会话执行超时。 LoadView 解决方案等待目标资源在指定时间内做出响应,如果执行时间超过限制,系统将结束会话并返回错误。 如果此字段留空,它将使用默认超时限制(即 120 秒)。

4. 创建设备

单击”创建设备”并继续执行负载测试执行方案。

5. 配置测试执行计划

导入 JMeter 测试计划后,下一步将设置测试执行方案。 如果您为 JMeter 线程组设置了线程属性,并且想要在 LoadView 中保持相同的负载模式,请使用给出的建议指定相应的负载类型参数。

或者,您可以根据特定的测试要求从负载类型部分的其他 负载曲线选项 中进行选择。 了解有关配置线程和斜坡上升/下降周期的更多信息

6. 运行负载测试并分析结果

一旦您完全配置了负载测试计划,就可以运行您的 JMeter 负载测试。 测试将经过几个步骤,如初始化、启动负载喷油器和运行测试。 测试完成后,将通知您,并可通过 负载测试结果页面访问负载测试结果

如果您需要任何进一步的帮助,将 JMeter 负载测试转换为 LoadView 平台,请联系我们的 技术支持团队

或者,您可以直接在 LoadView 平台内提交机票。 要提交支持票,只需登录您的帐户。 从右上角,悬停在 支持 > 票 上提交请求。 我们的团队全天候提供服务,以满足您的所有负载和性能测试需求。