fuboTV 在生产环境前使用 Grafana k6 解决性能退化问题

主要收获

  • 借助 k6 Cloud,团队无需管理基础设施或持续排查测试问题,这使他们有更多时间专注于部署能为 fuboTV 用户带来更大价值的更改。
  • k6 Cloud 帮助团队确保 fuboTV 平台能为所有用户提供高可用性,并支持大量新用户注册,尤其是在大型活动期间的短时间内。
  • 利用 k6 Cloud,fuboTV 开发者有信心进行复杂的性能改进,因为该平台能够更精确地进行测试。
  • k6 灵活的 JavaScript API 和 CLI 使开发者能够快速调整和运行小型临时测试以及大型预定测试。

-–

fuboTV Inc. 的使命是通过最广泛的优质内容、互动性和整合式博彩,提供世界上最激动人心的体育优先直播电视体验。公司致力于实现其愿景,打造一个超越行业当前虚拟 MVPD 模式的流媒体平台。

利用其为直播电视和体育观赛优化过的专有数据和技术平台,fuboTV Inc. 旨在将被动观众转变为积极参与者,并定义一种全新的互动体育和娱乐电视类别。

通过其有线电视替代产品 fuboTV,订阅用户可以观看 100 多个直播电视频道,包括体育、新闻和娱乐领域尼尔森排名前 100 的网络中的 74 个 — 超过任何其他直播电视流媒体平台(来源:尼尔森总观众,2020)。fuboTV 计划在 2021 年秋季推出预测性免费游戏,并在 2021 年第四季度推出 Fubo Sportsbook,以增加其流媒体体验的互动性。

挑战

fuboTV 的团队共享 DevOps 思维模式,因此组织内的所有开发者都参与测试和网站可靠性活动,其中包括负载和性能测试。然而,他们现有的测试解决方案很复杂。

团队需要一种负载和性能测试解决方案,这样他们就不必花费大量时间来排查测试脚本问题。他们需要一个能够处理模拟不同用户流的复杂用例的解决方案,并帮助他们在构建发布到生产环境之前捕获任何性能退化。该解决方案还必须允许开发者根据每个用例的需要达到尽可能多的每秒请求数 (RPS)。

团队决定使用  k6 Cloud,这是一个提供他们所需便利性和功能的测试解决方案。

解决方案

k6 Cloud 已成为 fuboTV 测试技术栈的关键组成部分,使开发者能够捕获近期构建中引入的任何可能的性能退化。借助 k6 Cloud,团队无需管理多个负载生成器实例——它会自动完成。这使得团队能够为 fuboTV 服务日益增长的用户群做好准备。

团队使用 k6 Cloud 模拟和运行复杂的用例,例如 fuboTV 注册流程。开发者测试用户注册过程的每一步,从创建账户到选择和购买订阅。k6 灵活的 JavaScript API 和 CLI 使开发者能够快速调整和运行小型临时测试以及大型预定测试。

k6 Cloud 帮助我们的开发者放心地进行最复杂的更改和性能优化。有了 k6,我们可以确保没有任何退化会到达生产环境。

Ihar Zhavarankau,fuboTV 高级软件工程师

团队利用了 k6 的  可定制订阅计划,并根据他们的特定需求量身定制了一个计划。通过定制计划,他们能够调整每个 k6 Cloud 使用参数,包括虚拟用户、测试数量、测试持续时间、负载区域和测试并发量。

成果

在 k6 Cloud 的帮助下,fuboTV 的团队可以将大部分时间用于创建新功能和进行改进,从而为客户提供更大的价值。开发者现在花费在排查测试问题上的时间大大减少,这提高了团队生产力,并加快了 fuboTV 平台更改的部署速度。由于该平台能够更精确地进行测试,他们也有信心进行复杂的性能改进。借助 k6 Cloud,团队可以确保 fuboTV 能够为平台上的所有现有用户提供高可用性,并支持大量新用户注册,特别是在大型活动期间的短时间内。

k6 Cloud 的可靠性和可用性使我们能够将时间花在构建为 fuboTV 产品提供动力的优秀功能上,而不是担心潜在的性能退化问题。确信我们已经防止了性能退化,这使我们能够更安全、更快地发布新功能,从而为用户创造更多价值,并在竞争中获得优势。

Anton Khabaiev,fuboTV 工程总监

fuboTV logo
行业
媒体&娱乐
公司规模
250-500 名员工
总部
纽约, NY