为85000名并发观众负载测试视频流服务

性能工程 电信

项目概述

一家流媒体服务提供商聘请了一家全球电信公司提供必要的基础设施,以便能够将其内容流式传输给亚洲的广大消费者。电信公司需要验证其选择作为该基础设施一部分的内容交付网络(CDN)是否能够满足流媒体服务的性能预期。

为了做到这一点,重要的是确保它能够达到预期的性能水平(最初确定为每秒100 Gbps),并测试CDN将如何响应,以确保它不会成为数千观众观看视频时的瓶颈。

解决方案:大规模视频流负载测试

为了帮助电信提供商完成该项目,运动健将,即博通云性能测试平台,火焰计,委托Abstracta设德赢vwin登入计并执行此大规模负载测试。

首先,我们的一位高级性能工程师创建了一个JMeter脚本来测试CDN行为,在HLS和DASH协议之间分配负载,并为两者分配不同级别的流质量。

此加载场景允许模拟不同类型的用户,这些用户在视频内容通过CDN时会消费视频内容。

测试脚本考虑了流媒体提供商希望在带宽消耗、他们希望遵循的模式(HLS和Dash的一定百分比)等方面实现的规范列表。

我们首先创建了JMeter脚本并在本地运行它,然后生成了一些概念证明,以校准实现所需场景所需的引擎数量(100 Gbps)。

我们的工程师和CDN提供商共同确定为了模拟85000个并发虚拟用户,需要使用来自多个位置的500个引擎(在测试的整个过程中),这给了我们每秒8200个请求(RPS)的吞吐量。

脚本完成后,Abstracta工程师使用BlazeMeter云性能测德赢vwin登入试平台生成接近100 Gbps的视频流。

在测试结束时,我们达到了这个负载场景:

  • 最大吞吐量:8295转/秒
  • 最大用户数:85000
  • 位置:
  • - Central Korea Central (Seoul, Azure)
  • -韩国(釜山,蔚蓝)
  • 新加坡(谷歌、AWS、Azure)
  • 持续时间:10分钟
  • 加速:5分钟
  • 负荷分配:
  • -90%短跑:10%200Kbps,70%1.5Mbps,20%7Mbps。
  • -10%HLS:10%400Kbps,70%1.8Mbps,20%8Mbps。

为了实现这种配置,我们使用Taurus(一种开源测试自动化工具,它扩展并抽象了领先的开源负载测试工具)来定义测试配置和JMeter,以便使用给定的模式分配负载。

JMeter视频流插件

结合使用BlazeMeter和Taurus模拟负载,最基本的是利用HLS插件(视频流插件)Abstracta的一个内部软德赢vwin登入件工程师团队帮助BlazeMeter开发。

该插件的工作方式与典型的视频流客户端应用程序的工作方式相同,使您能够下载带有播放列表的文件,然后从插件将其加载到单独的视频部分。

该插件有几个有用的功能,使压力测试视频流比以前简单得多。它允许您选择字幕和音频曲目,支持HLS和DASH,选择要使用的视频变体、时间量等,同时大大简化了此类协议的测试,并提供易于使用的统计数据和报告。

后果

使用BlazeMeter和视频流插件,德赢vwin登入Abstracta性能工程师能够验证CDN是否能够处理最大预期负载(85000个用户)没有发生任何崩溃或停机。

有了这些结果和关于流媒体服务健壮性的信息,最终客户能够在韩国继续视频流,利用电信公司及其CDN提供商提供的基础设施服务。

浏览其他案例研究

你在找工作吗性能测试配偶

Baidu