使用云端分布式负载测试最大限度地减少生产中的停机时间

导航至

我们都知道停机时间会造成经济损失——对于大型企业来说,每分钟可能损失数千美元——更不用说对品牌声誉和客户满意度的影响。虽然负载测试经常被忽视,但它是一种通过确保您的应用程序在部署前已准备好投入生产来帮助降低停机风险的方法。

什么是负载测试?

负载测试检查应用程序在预期用户负载下上线前执行的能力。这是通过使用数据集作为指令,对给定系统执行测试,以确定系统在正常和预期峰值负载条件下的行为来完成的。模拟越真实,您就越有可能发现导致不良用户体验的瓶颈。

通过负载测试模拟真实世界的工作负载,可以回答诸如以下问题:网站、应用程序或系统可以处理多少并发用户或事务?瓶颈在哪里?临界点是什么?

具有新测试扩展功能的云负载测试平台

云负载测试收集关于被测应用程序性能的有价值的指标。云负载测试工具收集的常见指标包括并发用户数、响应时间、延迟、网络吞吐量、事务率、通过的事务和失败的事务。Tricentis 是一家在云负载测试领域崭露头角的领导者,它支持领先的云提供商,并提供 Tricentis Flood(Tricentis 在 2017 年收购总部位于澳大利亚墨尔本的 Flood IO 时获得)。

Tricentis Flood 为传统的负载测试领域带来了一种新方法。它是一个基于云的分布式负载测试平台,允许您使用流行的开源工具(包括 JMeter、Gatling 和 Selenium)运行全球分布式的性能测试,并允许扩展负载测试以实现最大并发(数百万并发用户)和任何给定时间的最大吞吐量。您可以使用 Flood 的 API 与您自己的服务集成,或与您的团队实时分享 Flood 报告的结果。

Tricentis Flood load testing - InfluxDB.

与传统的负载测试服务不同,Flood 允许您根据需要运行尽可能多的用户和测试,时间不限,同时它处理基础设施并提供聚合的实时报告。Flood 的平台从客户进行的测试中收集和聚合 InfluxDB Cloud 中的实时数据。Flood 的分布式网格基础设施采用共享无架构构建,使您能够水平扩展,超越当今市场上其他负载测试服务的能力。

构建 Flood 平台的旅程始于认识到对专用时间序列数据库的需求。事实上,选择 InfluxDB Cloud,即 InfluxDB 时间序列平台的托管版本,使 Flood 能够提供负载测试,对测试或用户数量没有限制,也没有测试启动延迟,并提供测试运行时的实时结果视图。

为什么 Tricentis Flood 选择 InfluxDB Cloud 作为其云负载测试平台

Flood 背后的设计师希望提供一种高性能的负载测试服务,具有实时指标且没有测试启动延迟。在他们现有的架构下,启动一个 30 节点网格需要 5 到 20 分钟。他们希望他们的设计能够扩展以适应更多用户和更大的测试。自推出以来,他们还一直在维护一个免费的单节点网格,让每个人都可以运行 5 分钟的简短 Flood 测试。

单节点每天都会因运行可疑测试的免费帐户组合,或者仅仅是每天数百次测试的正常磨损而受到超出识别范围的冲击。他们的支持票据开始更频繁地出现共享网格类型的问题,他们经常发现自己用一个新节点替换共享网格。

共享网格还给等待其他客户测试的客户增加了人为的延迟。

Flood 的第一代设计使用了 Elasticsearch。每个网格(测试运行的基础设施)都在一个 30 节点的集群中运行。每个节点都运行 Elasticsearch,他们会从这些网格中提取信息。这种早期设计带来了一些挑战

  • 这种设计使得水平扩展变得困难。
  • 来自 Elasticsearch 集群的数据对用户不是实时可见的。
  • Elasticsearch 不是为摄取和存储时间序列数据而设计的。

使企业能够自信地在生产环境中发布软件

Tricentis Flood 采用 InfluxDB Cloud 是因为它具有高写入吞吐量、低磁盘存储需求和低内存开销。InfluxDB 及其原生流处理引擎 Kapacitor 在 Flood 的平台中协同工作,以实时存储、收集和聚合时间序列数据。

使用 InfluxDB Cloud 的新设计有助于 Flood 的解决方案实现其成为分布式、松散耦合、共享无架构的负载测试平台的目标。该系统异步处理他们的提示,没有任何延迟,并将所有点都运行到 InfluxDB Cloud 中,后者每秒处理大约 60 个写入点。

InfluxDB Cloud and Kapacitor power Tricentis Flood's platform.<figcaption> InfluxDB Cloud 和 Kapacitor 为 Tricentis Flood 的平台提供动力。</figcaption>

与 Flood 之前的解决方案一样,当前的解决方案也有位于中心位置的应用程序服务器,但网格节点不是从网格节点本身提取信息,而是将信息推送到团队称为“Drain”的代理服务,该服务是用 Go 语言编写的。

面向 DevOps 管道中团队的云负载测试

Tricentis Flood 正在帮助团队测试、分析和改进其应用程序的扩展方式——在整个 DevOps 管道中实现无缝集成。借助 Flood,性能和负载测试不再仅限于专家。Flood 的直接和开放方法允许整个开发团队(涵盖所有技能水平的性能测试人员)衡量和提高性能。

Load testing platform - InfluxDB<figcaption> 负载测试平台支持按需配置和在短短三分钟内创建新的负载测试基础设施。</figcaption>

Flood 为负载测试领域带来的两个显著特点是

  • 简单灵活的部署,没有复杂的开销和高成本。
  • 与最流行的开源框架、云提供商和工具的技术合作。

在 InfluxDB Cloud 的支持下,Flood 拥有经过验证的解决方案,可用于跨各种行业的应用程序的负载测试,并为测试最困难的应用程序提供解决方案。无论是负载测试单个 URL、使用 Selenium 模拟真实的浏览器行为,还是使用 JMeter 和 Gatling 执行大规模并发和容量,Flood 都提供了一个强大且经济实惠的平台,用于按需扩展负载测试。迄今为止,超过 20,000 家公司使用它来构建可扩展的应用程序并培养性能文化。

了解更多关于 Tricentis Flood 的解决方案以及它如何基于 InfluxDB Cloud 构建的信息。