如今,很难想象不使用音频和视频内容的通信媒体。 此外,所有重大事件都以现场方式向全世界广大观众广播。 由于这些受众不断增加,因此内容提供商了解其媒体流交付的质量并了解其流媒体服务的转折点非常重要。 若要确保流式处理服务能够处理预期的受众,请模拟访问媒体流的大量用户。

负载测试方法

有多种方式可以传递音频或视频内容。 用户可以使用任何数量的在线媒体流服务(如 YouTube 或 Netflix)在 Web 浏览器中流式传输媒体。 另一方面,可以通过浏览器中的静态 URL 或支持网络连接和外部链接的媒体播放器(例如 VLC 媒体播放器)访问媒体流。 因此,应选择正确的负载测试方法来正确设置负载测试。 在这篇文章中,我们将重点介绍使用 LoadView 测试音频和视频流服务性能和可伸缩性的两种 主要方法

  • 使用实际 媒体资源路径进行流式媒体负载测试。
  • 真正的基于浏览器的负载测试。

静态、基于链接的流媒体的负载测试

可以通过指向媒体文件的静态 RTP 链接 提供对流源的访问。 例如,媒体源可以直接从 HTML 链接,类似于网页上的图像。 通常,可以在支持相应编解码器的任何浏览器中播放静态流,也可以通过兼容的在线或桌面媒体播放器(如 Windows 媒体播放器或 VLC)播放静态流。

静态 RTP 链接示例:

https://multiplatform-f.akamaihd.net/i/multi/will/bunny/big_buck_bunny_,640x360_400,640x360_700,640x360_1000,950x540_1500,.f4v.csmil/master.m3u8
https://cph-msl.akamaized.net/hls/live/2000341/test/master.m3u8

如果您有指向媒体源文件或播放列表的静态 RTP 链接,建议设置流 媒体负载 测试。 LoadView 将点击静态 URL,许多并发用户尝试下载流的前 30 秒。 如果源服务器不可用,或者系统无法下载流播放,将生成错误。

请注意,在某些情况下,服务器可以随机生成每个新流会话的流 RTP 链接,并且不能用作负载测试中的静态流 URL。 在这种情况下,请选择真正的基于浏览器的负载测试策略。

真正的基于浏览器的负载测试

有时,媒体文件 URL 不公开可用。 例如,媒体流应用程序可能需要身份验证才能播放流。 由于流 URL 仅适用于登录用户,因此每次身份验证令牌过期时都会刷新该 URL。 在负载测试方面,这意味着您需要提供用户凭据来访问每个负载测试会话的媒体 流文件

同时,许多媒体内容提供商使用插件或嵌入式本机视频播放器(例如专有的 YouTube 播放器)来流式传输音频和视频内容。 在这种情况式处理源的链接不是直接从页面 HTML 中提供的。

如果指向媒体源的静态 RTP 链接不可用,请选择在真实浏览器中进行 Web 应用程序 UI 测试。 出于这些目的,LoadView 提供 EveryStep Web 录像机,用于在浏览器窗口中捕获媒体流的视频。

若要创建负载测试,请选择 Web 应用程序负载 测试类型并记录脚本:

  1. Everystep Web 记录器中,导航到包含流媒体的网页,然后选择播放按钮开始流式传输。
  2. 停止录制, 弹出窗口中单击”确定”以跳过播放脚本。
  3. 转到 Everystep Web 记录 器中的 “脚本代码”部分,然后右键单击最后一行脚本行。
  4. 从内联菜单中 ,选择 “延迟” 并在 脚本末尾设置延迟。 系统将在测试运行的指定持续时间内等待流式处理播放。
  5. 保存脚本并继续负载测试方案配置。

若要指定适当的延迟值,请考虑并发用户数和流式处理类型的增加速率。 例如,在测试实时流时,用户流往往比播放保存的内容要长得多。 通常,延迟必须足够长,以模拟并发流。

负载测试启动后,浏览并查看媒体流页面。 此方法允许您捕获应用负载下的音频或视频的任何质量损失,因为它们实时显示为真实用户。