通过基于云的分布式负载测试最小化生产中的停机时间

导航至

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

什么是负载测试?

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

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

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

云负载测试收集有关被测试应用程序性能的宝贵指标。云负载测试工具通常收集的常见指标包括并发用户、响应时间、延迟、网络吞吐量、交易率、成功交易和失败交易。一家在云负载测试领域崭露头角,支持领先云提供商的公司是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分钟。他们希望设计可扩展以容纳更多用户和更大的测试。自其推出以来,他们还一直在维护一个单个免费网格节点,允许每个人运行短五分钟的洪水测试。

由于免费账户运行看起来可疑的测试或只是每天几百个测试的正常磨损,单个节点每天都承受着无法识别的压力。他们的支持票据开始更多地出现共享网格类型的问题,并且他们经常发现自己用新的节点替换共享网格。

共享网格也向等待其他客户测试的客户增加了人工延迟。

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

  • 该设计使得横向扩展变得困难。
  • Elasticsearch集群中的数据在实时中不可见。
  • Elasticsearch不是为处理和存储时间序列数据而设计的。

帮助企业有信心地将软件部署到生产环境中

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

使用 InfluxDB Cloud 的新设计帮助 Flood 的解决方案实现其目标:成为一个分布式、松耦合、无共享、负载测试平台。系统异步处理它们的队列,没有任何延迟,并将所有数据点上传到 InfluxDB Cloud,该云处理大约 60 个/秒的写入点。

InfluxDB Cloud 和 Kapacitor 为 Tricentis Flood 的平台提供动力。<figcaption> InfluxDB Cloud 和 Kapacitor 为 Tricentis Flood 的平台提供动力。</figcaption>

与 Flood 的先前解决方案类似,当前的解决方案中应用服务器位于中心位置,但与从网格节点本身拉取信息的工人服务器不同,网格节点实际上是将信息推送到团队称为“Drain”的代理服务,该服务是用 Go 编写的。

跨 DevOps 管道的团队云负载测试

Tricentis Flood 正在帮助团队测试、分析和改进其应用程序的扩展方式——在 DevOps 管道中无缝集成。有了 Flood,性能和负载测试不再仅限于专家。Flood 直观和开放的方法允许整个开发团队(包括所有技能级别的性能测试人员)测量和改进性能。

负载测试平台 - InfluxDB<figcaption> 负载测试平台,可在三分钟内按需配置和部署新的负载测试基础设施。</figcaption>

Flood 带入负载测试空间的两个显著特性是

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

由 InfluxDB Cloud 驱动,Flood 已经证明了解决方案,可以在各个行业跨平台进行负载测试,并提供测试最困难应用程序的解决方案。无论是进行单个 URL 的负载测试,还是使用 Selenium 模拟现实浏览器行为,或者使用 JMeter 和 Gatling 执行大量并发和体积,Flood 都提供了一个强大且经济的平台,用于按需扩展负载测试。到目前为止,已有超过 20,000 家公司使用它来构建可扩展的应用程序并培养性能文化。

了解更多关于 Tricentis Flood 的解决方案及其如何构建在 InfluxDB Cloud 之上 的信息。