23

有谁知道我可以用来在视频流服务器上执行压力测试的任何好工具?我需要测试我的服务器处理 5,000 多个连接的能力。

4

6 回答 6

6

一种选择是使用 VLC。您可以在命令行上指定一个 url。(详见此处)。然后,您可以编写一个简短的 shell 脚本来打开所有 5000 个连接。

例如。以下 perl 脚本(非常快速的 hack - 运行前检查,可能会导致爆炸等)

$i = 0;
$myurl = "udp://someurl";
@cmdline = ("/usr/bin/vlc", "");
for( $i = 1; $i <= 5000; $i++ )
{
    if( $pid = fork )
    {
        # parent - ignore
    }
    elsif( defined $pid )
    {
        $cmdline[1] = sprintf "%s:%d", $myurl, $i;
        exec(@cmdline);
    }
    # elseif - do more error checking here
}

如果您的视频流服务器正在进行多播,那么打开套接字并使其成为 5000 个多播组的成员就足够了(不必对流进行任何操作。通过不实际解码流,您将减少客户端的性能问题)。

我不知道有任何工具可以为您执行此操作,但如果您准备编写自己的实用程序,您可以从这里开始了解详细信息。

编辑:第二个选项假定您的客户端计算机上的操作系统具有多播功能。我提到这一点是因为(从记忆中)linux内核默认情况下不是,我想为你省去那种痛苦。:-)

简单的判断方法(再次在 Linux 上)是检查是否存在/proc/net/igmp

于 2008-09-30T03:27:06.440 回答
2

开始下载具有不同连接的 5000 多个相同类型的文件。真的不需要播放它们,因为基本上客户端视频播放器、flash、Windows 媒体播放器等只会进行下载。因此,如果您的服务器可以处理 5000+ 次下载,那您就可以了。我敢打赌,您的带宽会在您的服务器之前发出。

于 2008-09-30T02:43:20.630 回答
1

对于基础架构,您可以使用 JMeter SAAS 或您自己的云服务器来克服注入器可能出现的网络问题。

为了重现用户体验并获得关于用户体验的宝贵指标,您可以使用Apache JMeter + 这个商业插件,它可以真实地模拟玩家的行为,而无需任何脚本:

这个插件还提供了模拟自适应比特率流的能力

免责声明:我们支持此解决方案的开发

于 2015-01-14T21:28:09.503 回答
1

一个新的 JMeter 插件已经发布,通过仅使用一个自定义采样器来帮助模拟 HLS 场景。现在,您不需要多个 HTTP 请求采样器、ForEach 控制器或 RegEx 后处理器。这使得整个过程比以前简单得多。

相反,完整的逻辑被无缝封装,因此您只需要关心用例:媒体类型、播放时间和网络条件。就是这样!该插件是全新的,可以通过 JMeter Plugins Manager 安装。

在这里您可以了解更多信息:

https://abstracta.us/blog/performance-testing/how-to-run-video-streaming-performance-tests-on-hls/

于 2019-11-06T23:55:51.157 回答
0

我也在寻找相同的答案,我遇到以下工具可能对某人有帮助http://www.radview.com/Solutions/multimedia-load-testing.aspx

此工具用于测试视频流。希望它可以帮助某人。如果我得到一个更好的答案,我会更新答案。

谢谢。

于 2012-08-30T05:03:47.693 回答
-1

HLS Analyzer软件可用于对 HTTP Live Streaming 服务器进行压力测试和监控下载性能。

于 2013-06-14T03:36:24.553 回答