有啥方法可以对视频通话功能进行负载测试?

Posted

技术标签:

【中文标题】有啥方法可以对视频通话功能进行负载测试?【英文标题】:Is there any way we can do load testing for video call functionality?有什么方法可以对视频通话功能进行负载测试? 【发布时间】:2022-01-22 00:10:07 【问题描述】:

有什么方法可以对视频通话功能进行负载测试? Jmeter 或任何其他开源工具提供什么?如果我们能做到这一点,请推荐任何工具。

我需要为 50 个用户(学生)测试视频通话负载测试功能,并将 50 个用户同时分配给 50 个顾问开会。一次有 1 个用户连接到 1 个顾问。然后我如何生成不同的会议 ID 并对其施加负载。请帮我测试一下。

【问题讨论】:

雇佣 100 名学生两个小时,扮演学生和顾问的角色,并让他们进行视频通话。 还有其他方法吗@GilbertLeBlanc 您可以从较小的学生群体开始,逐步进行多达 50 个同时视频通话。或者您可以启动网站并查看它是否在加载时崩溃。 【参考方案1】:

这取决于正在使用的network protocol(s)

    使用像 Wireshark 或 Fiddler 这样的嗅探器工具来识别视频和音频是如何从被测系统传输到被测系统的 检查是否有任何JMeter Samplers 或JMeter Plugins 实现了这个(ese)协议 使用采样器或插件或 Java 客户端库为模拟用户端网络调用的协议复制“用户”的网络足迹。 执行 correlation 和/或 parameterization 以便扩展测试,即每个用户都应该有自己的凭据、会议 ID 等。

【讨论】:

【参考方案2】:

最简单的方法是使用真正的浏览器负载测试工具,例如 LoadNinja 或 Loadster(我是 Loadster 的创始人,FWIW)。

这些工具使用无头网络浏览器进行负载测试,因此您可以在用户交互级别编写脚本(导航到页面、点击元素等),让浏览器完成其余的工作。这比在协议层加载测试视频和音频要容易得多,而且它会测试通过您的应用的整个流程,而不仅仅是视频流。

生成会议 ID 并将其分配给每个学生和顾问的过程对于每个工具都会有所不同,但一般来说,您可以提前生成它们并将它们存储在数据集中,然后在加载时测试运行时,机器人(或虚拟用户)遍历数据集,每个人都获取一个单独的会议 ID。

在这种情况下,听起来您需要两组不同的机器人,一组有 50 名“学生”,另一组有 50 名“顾问”。这些小组可以从同一数据集中按顺序读取他们的会议 ID,以便每个学生与顾问共享一个会议。

如果需要开源,则绝对可以使用Puppeteer 或Playwright 构建自己的东西。由于听起来您只需要模拟 100 个并发用户,您可能可以在几个大型 EC2 实例上运行它,而不一定需要基于云的负载测试工具提供的云集群。但这种本土方法可能需要更长的时间。

【讨论】:

以上是关于有啥方法可以对视频通话功能进行负载测试?的主要内容,如果未能解决你的问题,请参考以下文章

Quickblox 语音通话/视频通话

腾讯云独家详解小程序多人视频通话

Android设备实现语音视频通话

使用 adobe air 进行视频通话或语音通话

5G视频通话也救不了5G,5G的问题在于它自身

安卓系统怎么视频通话