我们总是考虑软件设计、功能测试、CI/CD,但如果我们看到流量负载突然激增,我们了解应用程序的行为方式吗? 或者,如果在假日旺季期间我们的应用程序存在极端流量,我们能否防止我们中断? 为了将我们从这些不可预见的下降条件下拯救下来,只有积极和适当的性能测试才能提供帮助。 性能测试的重点是测量软件应用程序的速度、稳定性、可靠性和可扩展性。

  • 速度。 确定应用程序的响应速度。
  • 稳定性。 确定应用程序在不同负载条件下是否稳定。
  • 可靠性。 确定应用程序能否处理容错和恢复。
  • 可伸缩性。 确定应用程序可以处理的最大并发用户数。

 

性能测试:将应用程序置于测试阶段

为了确保我们的应用程序依赖于性能,并且依赖于流量的急剧增长,我们需要建立一个接近实时的环境,在我们的应用程序被置于并发用户的主动负载下。 为了推进这一工作,我们需要一个性能工具,它可以帮助运行与所需用户一起测试方案,并帮助我们找到应用程序背后的基础结构瓶颈。

一旦我们确定了性能测试要求,下一步是找到能够支持我们测试要求的解决方案。 有许多负载测试解决方案和工具,从免费的开源工具,到需要主要资源才能实施和运行的非常复杂的商业选项。 最好自己研究,找出最适合您的,但是,找到一个易于使用/启动的解决方案,可以执行多种类型的负载测试,具有集成/支持流行的技术,并提供所有必要的报告和指标都是关键因素。

对于本文,我们将介绍加特林和 LoadView 的一般基本区别。

 

性能测试工具:加特林

加特林 是一种开源性能测试工具。 加特林框架基于斯卡拉、阿卡和内蒂。 该工具允许开发人员构建和执行测试,并轻松地在本地或云中管理他们的测试。 要使用 Gatling 编写测试,我们需要使用 DSL(域特定语言),它或多或少等于 JMeter 和 Tsung 提供的语言。 但是,虽然 JMeter 和 Tsung 使用 XML 及其特定的标记来实现循环等操作,但 Gatling 允许用户定义提供类似功能的 Scala 类,但它们的可读性要高得多。

 

加特林的优势

  • 兼容性。 它适用于几乎所有的操作系统和任何浏览器。
  • 开源。 由于 Gatling 是开源的,并且使用具有人类可读 DSL 的 Scala,因此它允许开发人员更轻松地装箱和执行负载测试。
  • 代码跟踪。 使用 Gatling 进行版本控制允许团队跟踪和重用代码,以便更好地协作。
  • 多线程。 多线程功能使用 Netty 和 Akka 工具包,可确保不会为每个用户指定新线程。 相反,它使用单个线程来模拟一系列用户路径。
  • 断言 API。 允许开发人员与测试同时执行多种类型的功能检查。
  • 与 CI/CD 工具集成。 Gatling 的标准功能之一是它可以集成到 CI/CD 工具中,如 Jenkins。
  • 报告。 Gatling 支持包含有价值的信息的丰富多彩的信息图形报告进行分析。

 

加特林缺点

  • 有限的协议支持。 它支持很少的协议,如 HTTP、WebSockets、服务器发送的事件和 Java 消息服务 (JMS)
  • 集成 。 它没有自己的主机监视集成,我们倾向于使用第三方应用程序来跟踪。
  • 硬件要求。 使用免费版本,我们需要有一个服务器,可以真正产生负载,是打算出测试。

 

性能测试工具:LoadView

LoadView 是一种基于云的性能测试解决方案,允许开发人员和工程师针对其网站、Web 应用程序、Web 服务器、Web 服务等运行负载测试。 使用 EveryStep Web 记录器,用户可以通过我们的网站和应用程序快速编写方案脚本。 然后,我们可以从多个地理位置运行测试,无需额外的硬件或资源。 LoadView 性能测试在 LoadView 管理的云上运行,我们只需要在 LoadView 网站上创建测试方案来触发或启动测试。 每当我们运行测试时,地理分布的 AWS 服务器都会启动,以生成负载测试所需的并发用户。 我们还可以将 LoadView 性能测试方案与 Jenkins 等 CI/CD 工具集成。

 

LoadView 的优势

  • 易用性。 在 LoadView 上创建测试方案需要浏览器上提及的一些详细信息,运行测试脚本、创建服务器和托管测试的所有内部复杂情况都由 LoadView 接管。
  • 每一步网络记录器。 基于 Web 的录制器 提供 Web 应用程序和网站中的功能记录用户方案。 录像机支持大量的桌面和移动浏览器和设备,并支持用于创建动态应用程序的技术。
  • 虚拟负载喷射器。 它利用位于全球 15 个地区的 Amazon Web 服务服务器。
  • 分发用户负载。 该平台允许用户根据大多数访问者来自哪个位置分配负载。
  • 报告. 它提供了有关执行计划、每分钟事务、平均响应时间和错误发现的广泛详细概述。 它允许我们随时查看测试历史记录和详细信息。
  • CI/CD 集成。 支持与詹金斯的集成。
  • 轻松代理设置。 测试防火墙后面的内部应用程序。
  • 24/7 支持. 支持团队可 24/7 随时提供您的问题。

 

LoadView 的缺点

  • 不是开源的。 由于 LoadView 是一种商业工具,因此在云上运行测试需要支付一些费用。 此外,对工具的任何修改都得通过适当的支持渠道进行。

 

比较: 加特林和负载视图

让我们看看加特林和 LoadView 之间的几个主要区别。

 

前景 加特林 负载视图
负载测试应用程序支持 加特林支持 HTTP、Web 袜子和 JMS。 LoadView 支持复杂的应用程序,如闪存、HTML5、Java、PHP、JavaScript、Ruby、Silverlight 等。
编写用户操作脚本 需要基本了解 Scala 和 DSL 语言。 用户友好的记录器,有助于记录特定要求的方案。
测试运行 从计算机或一组专用服务器运行测试 完全管理的云服务器
地理分布负载测试 需要设置专用位置的负载喷油器服务器进行测试 从用户所在地轻松分配流量。
文档和支持 加特林提供了快速入门和用户指南。 LoadView 拥有完整的支持文章和文档知识库,以及 24/7 的 24/7 电话支持。
定价 免费使用,因为它是开源的 LoadView 有多种定价选项,可满足您的需求。
与 CI/CD 工具集成 支持詹金斯插件 支持詹金斯插件
后期制作监控 我们需要集成第三方应用程序,Gatling 不提供实时监控。 Dotcom-Monitor 为网站和应用程序提供 后期监控解决方案,并帮助检查运行状况。

 

总结:性能测试工具加特林与 LoadView

这是性能测试工具 LoadView 和 Gatling 的概述。 当然,随着我们正朝着更好地适应模拟真实场景的旅程前进,毫无疑问,我们将遇到许多挑战和新见解。 Gatling 和 LoadView 都根据要求和测试方案来达到其目的。 我们简要介绍了每个工具的优缺点,涵盖了与 Jenkins 的集成,以及每个工具与众不同的是什么。 许多组织和开发人员都使用开源负载测试工具(如 Gatling),但 LoadView 提供的好处非常强大,更适合满足开发人员和性能工程师的需求。

尝试 加载视图为自己30天。 您将获得 20 美元的负载测试积分,以开始使用。 或者与我们的性能 工程师一起 注册免费现场演示。 他们将引导您完成设置过程并加载测试执行。