Gatling 是用于性能和压力测试的开源工具,非常值得添加到您的个人工具知识库中。 如果您在性能测试领域工作,您可能已经听说过 Gatling。 加特林已经存在了近十年,并支持像HTTP,网套和JMS(雅加达消息服务)这样的协议。 尽管它以 Scala 为基础,不像其他语言(如 C#、JavaScript、PHP、Python 等)那样受欢迎,但它仍然被开发人员广泛使用。 我们将更多地讨论是什么让 Gatling 成为最喜欢的负载测试工具。
带负载视图的 JMeter 负载测试

从完全管理的云网络执行大规模负载测试

什么是加特林?

Gatling 是一种负载测试工具,可用于集成开发环境、版本控制系统和持续集成解决方案。 它没有自己的解决方案,而是与您现有的解决方案集成。 它构建在 Akka 之上,Akka 是用于构建分布式消息驱动应用程序的工具包。 它是一个分布式框架,允许完全异步计算。 它是代码中的一个小实体,通过消息传递相互通信。

使用此模式 Gatling 可以模拟单个线程的多个虚拟用户。 Akka 重写了处理多个线程的 JVM 限制。 要执行负载测试,您不需要了解任何有关 Akka 或 Scala 的知识。 但是如果你想掌握加特林, 你至少应该学习斯卡拉。 无论如何,对加特林背后的技术有一个基本的了解是有好处的。 它重量轻,可以运行数千个虚拟用户在一台计算机上与其他性能测试工具相比。 在 JMeter/LoadRunner 上使用代码库性能测试工具(如 Gatling)总是好的。 此外,您还可以展示您的编码技能。 这将为您提供为性能要求编写各种逻辑的高灵活性。

加特林关键功能

与当今市场上的其他性能测试工具相比,Gatling 提供了许多独特的功能。 为了本文的目的,我们将涵盖加特林的一些关键功能和好处。

基于斯卡拉的平台

虽然 Gatling 是基于 Scala 的,但您可以使用该工具,而无需任何实际的 Scala 编程体验。 Scala 的许多设计决策旨在解决对 Java 编程语言的批评。 正如我前面所说,如果你能学习基本的Scala编程知识,那么你的测试就更加灵活了。 该工具的美妙优点是,您可以访问Scala和Java的所有优势。

HTTP 协议

Gatling 还基于用于性能测试的应用程序 API 工作。 您可以直接配置 API,并可以立即执行性能测试。

加特林录音机

加特林配备了一个内置的脚本记录器,就像JMeter/负载运行器提供。 记录器将拦截浏览器和服务器之间的通信。 这也称为代理录制。 您还可以使用 HAR 文件制作脚本,在其他工具(如 JMeter 或加载运行器)中看不到该脚本。 在以下部分,我们将通过分步过程来完成同样的工作。

持续集成

作为持续集成的一部分,加特林可以轻松集成。 它还提供分步教程。

为什么选择加特林?

当你只想加载/压力测试您的系统,而不必担心其他性能要求时,Gatling 是绝妙的工具。 从单个 JVM,您可以创建几千个并发用户。 无需设置分布式计算机网络来进行测试。 如前所述,Gatling 作为您持续集成的一部分,作为添加工具。 如果你想编写自己的代码,而不是简单地记录脚本,这也是伟大的。

现在,我们已经对 Gatling 用例和功能提供了一些基本概述,我们将了解如何下载和安装它。 此外,我们将引导您完成录制脚本的分步过程。 在本文的稍后部分,我们将介绍 LoadView 平台,我们认为该平台超越了 Gatling 在有意义的性能测试和工程方面提供的范围。

加特林安装和示例脚本执行

您可以下载加特林只需访问官方网站。 下面提供了安装和示例脚本执行的分步过程。

从网站安装加特林

首先,让我们继续前进, 从他们的网站下载加特林。

访问上述网站后,您可以下载 Gatling 性能测试工具。 这里有两个选项供下载。 他们的企业版有更多的功能,我们需要支付。 因此,为了本文的目的,我们将使用开源版本进行演示。 单击”开源版本”后,开源版本将开始下载。 下载完成后,继续并解压缩文件夹。 运行它所需的一切都位于该文件夹中。

加特林教程和安装要求

加特林还提供了很好的学习教程。 了解更多关于官方加特林教程。 还有一些单独的 Windows 和 Mac 安装先决条件的加特林。 要运行基本版本,需要安装 JDK。 此外,该工具至少需要 JDK8。 了解更多 JDK8 和安装要求

一旦您浏览了正式的 Gatling 文档,并设置了所需的先决条件,我们将开始安装。 打开解压缩的 Gatling 文件夹,然后转到 bin 文件夹。 从这里,我们需要运行加特林。 您可以通过 CMD 或浏览到文件夹来做到这一点。

加特林捆绑包

加特林. 巴特

如果您是Mac用户,您可以使用 Gatling.sh 运行。 由于我们正在使用 Windows,我们将使用加特林.bat。 一旦你双击Gatling.bat,该工具将启动并运行。 加特林还包括几个我们可以执行的示例脚本。 这些脚本将呈现在下载文件夹的示例部分。

加特林示例脚本执行

一旦你双击加特林.蝙蝠,你的加特林将启动。 您将获得 Gatling 执行屏幕,其中包含大量默认脚本以及 Gatling 包。

接下来,我们将选择脚本 [0] – 计算机数据库。基础模拟,这是计算机数据库的基本模拟。 这些脚本针对 Gatling 测试站点。 继续键入‘0’,然后按 Enter。 Gatling 会要求您输入测试说明,您可以为您的测试提供任何有效的描述。

加特林基本模拟

您的执行将立即开始。 每五秒钟左右,我们将看到输出到控制台。 您可以看到脚本运行了几分钟。 执行后,您还将收到一条成功消息 ,表示报告是在特定位置生成的。

加特林基本模拟执行

测试结果

目前,我们尚未进行详细的报告分析。 如果您熟悉其他性能测试报告,这将是一块小菜一碟。 我们可以看到在上述位置生成了测试报告。 我下面包括了加特林报告的示例截图。 是的,这些是HTML报告,您可以进一步修改报告生成格式的Gatling配置。

全球信息结果

加特林全球信息

加特林静态报告

加特林统计

祝贺! 您现在已下载了 Gatling,只需运行您的第一个脚本。

使用加特林录音机进行录制

在这里,我们将看到加特林记录器的工作原理,以及它如何帮助我们记录场景。 在 Gatling 中创建性能测试脚本有两种主要方法,要么通过编写代码

加特林录音机

加特林记录器是基于 GUI 的 HTTP 代理记录器。 这将有助于用户简单地记录一个场景并进行测试。

手动脚本

编写脚本需要丰富的 Scala 知识。

为了本文的目的,我们将展示加特林录音机的演示。 加特林录音机对于获得快速、基本的脚本非常有用,特别是如果您是 Gatling 的第一次用户的话。 要启动 Gatling 录像机,请浏览到 Gatling bin 目录并运行记录器 .bat 的 Windows 和 recorder.sh Mac/Linux 的驱动程序。

加特林录音机. 蝙蝠

运行 Gatling 录像机后,您将看到下面的屏幕。

加特林记录器配置

录制模式

让我们讨论一些加特林录音机选项。 加特林有两种录制模式。

HTTP 代理模式

HTTP 代理模式,用于捕获来自浏览器的所有代理流量

HAR 转换器

用于转换 HTTP 存档文件的 HAR 转换器。

HAR 转换器是首选,因为它为您提供了更多的控制,并且与录制设置的开销要小得多。 为 HTTPS 网站设置也容易得多。 归根结底,这是您的偏好,取决于您的专业知识水平。 或者更好的是,你可以尝试这两种选择,然后可以选择你最喜欢的或更适合你的需求。

有几个其他选项,我们可以在这里改变,标记为黄色下面。 我们可以配置是否遵循重定向、输出文件夹、删除缓存标头等。 现在,让我们将所有其他选项保留为默认值。

加特林哈转换器

生成用于加特林录音机的 HAR 文件

有多种方法可以生成 HAR 文件。 每个人都知道我们如何使用谷歌Chrome开发者工具做到这一点。 在这里,我们将向您展示您如何与菲德尔一起做到这一点。 如果您不认识菲德尔,Fidle 是网络嗅探工具,您可以在这里捕获客户端服务器通信的请求和响应。 菲德尔更适合我们的需求,因为我们可以修改我们的请求。 此外,我们可以添加/删除来自 HAR 文件中的不需要的请求。

使用记录器将 HAR 文件转换为加特林脚本

现在,我们将展示如何使用菲德尔创建和 HTTP 存档文件 (HAR 文件)。 出于演示目的,我将使用加载视图网站。

重要提示:未经网站同意,请勿对网站执行性能测试。 你可以在这里下载小提琴手。 安装和设置是一个非常简单的过程。 下载并安装 Fiddler 后,从桌面启动 Fiddler。

琴师

在这里,我们已将 Fiddler 配置为仅记录 网络浏览器和 HTTP 流量。 您可以通过单击 网络浏览器旁边来启用网络捕获。 您还可以了解可用的 其他菲德尔录音选项

记录您的方案

现在,您可以通过在任何浏览器中访问它来开始记录执行性能测试所需的方案。 我们将导航到 LoadView 网站,然后单击”关于我们”。

关于我们的加特林负载视图

 

关于我们的加载视图

当页面在浏览器中加载时,您可以同时看到在 Fiddler 中捕获的页面。

菲德尔加载视图关于我们

捕获方案后,请停止录制,然后通过 LoadView 进行搜索 并删除所有其他请求。 我们只需要要求loadview-testing.com。

菲德尔结果

菲德尔请求

我们已经删除了所有”垃圾”请求,只保留了我们需要的请求。 您也可以删除该跟踪器请求。

菲德尔请求

接下来,转到文件 > > 导出会话,将请求保存为HTTP 存档 V1.2

菲德尔导出会话

菲德尔导出会话

我们已经完成了一半的工作。 如果您使用 Google Chrome 创建您的 HAR 文件,则很难清除不需要的请求。 这就是我们建议在这种情况下使用菲德尔的原因。

现在,打开加特林记录器并浏览到加特林箱目录。 双击 启动加特林记录器。 将录像机模式更改为 HAR 转换器。 接下来,浏览到我们刚刚保存的 HAR 文件。 有一个选项,从HAR文件黑名单图像,CSS等。 此外,您还可以让 Gatling 记住您的偏好,并可以通过选中 S ave 首选项按钮进行下一次 使用。 完成所有步骤后,单击”开始 按钮以创建 Gatling 脚本。

加特林记录器 HAR 转换器

我们将得到一条消息,指出 HAR 文件已成功转换为 Gatling 模拟。

加特林 HAR 转换器成功

加特林模拟文件

现在让我们看看生成的加特林模拟文件。 浏览 Gatling 安装文件夹,然后转到 USer 文件 并打开 模拟 文件夹。 这将是加特林记录器的默认文件夹目录。 您可以看到脚本,并提供了类名称。 您可以使用任何文本编辑器或使用任何开发人员工具查看和打开此文件。 为此,我们使用记事本+打开和编辑脚本。

加特林模拟文件

我们已经通过加特林执行和报告生成的步骤。 按照相同的步骤使用 Gatling 执行性能测试。 通过 Gatling 设置文档可以了解进一步的脚本修改和模拟信息。

加特林教程结论

因此,正如我们所示,在此过程中涉及许多步骤、先决条件和额外的下载。 你不觉得加特林是更复杂的工具使用吗? 如果你不来自编程背景,你将很难使用加特林。 别担心,这就是为什么我们还要使用 LoadView 性能测试解决方案讨论相同的流程。 LoadView 是一种基于云的负载测试解决方案,允许用户在更短的时间内测试其网站和应用程序,而无需具有编程背景。 在以下部分中,我们将向您展示 LoadView 的演示,从脚本生成到报表生成。

使用负载视图进行负载测试

加载视图允许用户在云中执行所有性能任务。 您可以在同一个接口执行脚本、执行和报告所有操作。 是不是很棒! 我们将逐步显示我们使用 Gatling 编写脚本的同一站点的负载测试过程。 与 Gatling 的过程相比,我们认为您会看到它更高效、更容易。 您只需使用内置记录器编写页面上的用户操作脚本,并设置加载模式。 就这么简单!

使用”每步 网络记录器”记录用户方案

同样,我们要测试的网站是 LoadView,我们用于加特林的网站。 如果您没有 LoadView 帐户, 注册是快速和容易 的 – 您将收到 $20 的负载测试学分,以开始您的第一次负载测试。

选择负载测试类型

如果您已经注册,您可以导航到您的帐户,并访问加载视图和 每个步骤网络记录器。 或者 只需先打开录像 机,然后登录您的帐户。 单击” 新测试 “,这将打开 LoadView 录像机窗口,如下所示。 选择 网络应用程序

LoadView 选择负载测试类型

一旦你点击 网络应用程序,它将启动每步网络记录器。 您需要输入 网络应用程序地址,该地址将是 LoadView 网站(https://www.loadview-testing.com/)。

设备兼容性注意事项

您还可以使用 LoadView 进行基于性能的设备兼容性测试。 可能情况下,您只面临移动设备的问题。 在这种情况下,您可以根据应用程序兼容性支持选择移动/选项卡/笔记本电脑。

输入您的 URL 并单击” 立即录制” 按钮。

每一步 Web 记录器加载视图

使用”每步 网络记录器”开始录制

录制现已开始。 您只需要在屏幕上执行您的特定步骤/导航。 当您通过时,您将看到每个步骤被记录并在下面输入。 录制的脚本详细信息在录像机下方的屏幕中可见。

结束录制

完成用例方案后,单击”停止 按钮。 接下来,您需要单击”立即 播放”按钮 以重播脚本。 这将确保脚本的记录没有任何错误。 如果脚本中出现错误,将显示错误消息。 如果没有错误发生,它将显示成功信息。 如果需要,保存脚本并在以后修改。

每一步 Web 录像记录已停止

编辑脚本

完成并重播录制后,可以根据所需的其他逻辑进一步增强脚本。 LoadView 支持 添加上下文参数、延迟、相关性 等。了解有关编辑 LoadView 脚本的信息

设置负载测试

系统将提示您创建新设备来配置负载测试执行。 为设备命名并继续设置设备。 有几个额外的字段配置下设置,完成超时和DNS选项,如果这些是需要为你的目标。阅读有关设置负载测试的详细了解。 准备好后,您可以选择 “创建设备“。

配置测试方案

根据您的要求选择任何负载类型。 有几个不同的负载曲线选项。 根据您的性能工作负载模型,您可以决定您的负载类型。 我们将继续使用默认设置并选择 加载步骤曲线

LoadView 负载类型

负载喷油器地理分布

如果您拥有地理上分散的客户群,LoadView 允许您从遍布世界各地的负载生成器进行选择。 从网站或应用程序使用最多的国家或地区生成负载始终是好做法。 这是关于 LoadView 的最佳功能之一。 在当今市场上的大多数开源性能测试工具中,您不会获得此类功能。

负载视图负载喷油器地理分布

完成负载测试详细信息

创建工作负载模型后,接下来您需要提供您的电子邮件地址,以便将负载测试报告发送到电子邮件中。 您还可以将负载测试安排在以后。 这将使您能够将时间花在其他任务上。 LoadView 将在您计划的时间自动开始执行,报告将传递到您提供的电子邮件地址。

LoadView 启动负载测试

开始负载测试

配置所有内容后,单击”立即 开始测试” 按钮。 一旦您的负载测试执行开始,状态将更改为 “运行“。 给几分钟让负载喷油器启动。 您可以查看当前负载测试状态的测试摘要选项卡。 实时负载测试图形数据将在Execution计划下提供

LoadView 执行计划

LoadView 平均响应时间

累积会话和错误

您还可以观察其他图表,如成功会话总数和错误类型总数。

LoadView 累积会话和错误

负载测试报告

测试执行性能测试报告后,将作为 PDF 附件发送到您的电子邮件。 您还可以从 LoadView 控制台查看该信息。 这可与您的团队和各种内部利益相关者共享。

LoadView 负载测试报告

就是这样。 您刚刚通过负载视图执行了负载测试。 正如你所看到的,这是非常简单的,它只是花了几次点击。 并且您不需要进行任何复杂的编码或完成任何耗时的硬件设置和安装。

加特林负载测试:总结

如果这是你第一次接触加特林,我相信你仍然有很多问题,但你应该有基本的知识来考虑使用加特林为您的下一个项目。 Gatling 的主要优点是,它可以从一台机器中产生如此多的负载,特别是如果您在连续的集成环境中运行 Gatling。 Gatling 的真正力量来自于在 CI/CD 环境中运行以及像 Jenkins 这样的工具。 如果你真的有兴趣学习高级加特林, 我建议你学习 Scala 。 与执行测试一起,这可能过于努力。 除了这个工具,你需要学习一种全新的语言。 我认为不值得花时间学习一门新语言。 相反,你应该把宝贵的时间花在磨练你的性能工程技能上。

在这里,您可以充分利用 LoadView 的全部潜力。 您不需要花费额外的时间学习新工具、新的编程语言或管理负载生成器等。 只需登录到平台,记录脚本,并执行负载测试。 您可以将宝贵的时间用于优化和扩展应用程序。 如果您遇到任何问题,LoadView 团队还会提供无与伦比的 24/7 支持。 性能工程师会支持您,在必要时指导设置、脚本编写和测试过程。 今天开始您的加载视图试用

如果您刚刚开始研究性能测试工具,请前往我们的 负载测试替代 页面,在那里您可以将其他负载测试工具和平台(如 BlazeMeter、k6、Flood.io、LoadRunner 等)与 LoadView 进行比较。