Does anyone know any good tool that I can use to perform stress tests on a video streaming server? I need to test how well my server handles 5,000+ connections.
有谁知道我可以用来在视频流服务器上进行压力测试的任何好工具?我需要测试我的服务器处理5,000多个连接的程度。
5 个解决方案
#1
4
One option is to use VLC. You can specify a url on the command line. (see here for details). You could then write a brief shell script to open up all 5000 connections.
一种选择是使用VLC。您可以在命令行上指定URL。 (详情请见此处)。然后,您可以编写一个简短的shell脚本来打开所有5000个连接。
eg. the following perl script (very quick hack - check before running, might cause explosions etc.)
例如。以下perl脚本(非常快速的黑客 - 在运行之前检查,可能会导致爆炸等)
$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
}
If your video streaming server is doing multicast it should be sufficient to open sockets and make them members of your 5000 multicast groups (without necessarily doing anything with the stream. By not actually decoding the stream you will reduce performance issues on the client end).
如果您的视频流服务器正在进行多播,那么打开套接字并使其成为5000多播组的成员就足够了(不必对流做任何事情。通过实际解码流,您将减少客户端的性能问题)。
I'm not aware of any tools that will do this for you, but if you're up for writing your own utility you can start here for details.
我不知道有任何工具会为你做这件事,但是如果你想编写自己的实用程序,你可以从这里开始了解详细信息。
edit: The second option assumes that the OS on your client machine has multicast capability. I mention that because (from memory) the linux kernel doesn't by default, and I'd like to save you that pain. :-)
编辑:第二个选项假定客户端计算机上的操作系统具有多播功能。我提到这是因为(从内存中)linux内核默认情况下没有,我想为你省去那种痛苦。 :-)
Easy way to tell (again on Linux) is to check for the presence of /proc/net/igmp
告诉(再次在Linux上)的简单方法是检查是否存在/ proc / net / igmp
#2
2
start downloading 5000+ files of the same type with different connections. Don't really need to play them, because essentially the client video player, flash, windows media player, etc. will just be doing a download. So if you server can handle 5000+ downloads you will be fine. My bet is your bandwidth gives out before you server.
开始下载5000多个具有不同连接的相同类型的文件。真的不需要玩它们,因为基本上客户端视频播放器,闪存,Windows媒体播放器等只会进行下载。因此,如果您的服务器可以处理5000+下载,您将没事。我的赌注是你的服务器之前的带宽。
#3
1
For infrastructure, you can use either a JMeter SAAS or your own Cloud server to overcome possible network issues from your injector.
对于基础架构,您可以使用JMeter SAAS或您自己的云服务器来克服进样器可能存在的网络问题。
To reproduce user experience and have precious metrics about user experience, you can use Apache JMeter + this commercial plugin which simulates realistically the Players behavior without any scripting:
为了重现用户体验并拥有关于用户体验的宝贵指标,您可以使用Apache JMeter +这个商业插件,它可以模拟玩家的行为而无需任何脚本:
- Apple HTTP Live Streaming
- MPEG-DASH Streaming
- Smooth Video Streaming
Apple HTTP直播
流畅的视频流
This plugin also provide the ability to simulate Adaptive Bitrate Streaming
此插件还提供模拟自适应比特率流的功能
Disclaimer : We are behind the development of this solution
免责声明:我们支持此解决方案的开发
#4
0
I am also searching for the same answer, I come across with following tool may be it helps someone http://www.radview.com/Solutions/multimedia-load-testing.aspx
我也在寻找相同的答案,我遇到以下工具可能会帮助某人http://www.radview.com/Solutions/multimedia-load-testing.aspx
This tool is used to test video streaming. Hope it helps someone. I will update the answer if I get a better one .
此工具用于测试视频流。希望它可以帮到某人。如果我有更好的答案,我会更新答案。
Thanks.
#5
-1
This HLS Analyzer software can be used for stress testing HTTP Live Streaming server and monitoring downloading performance.
此HLS Analyzer软件可用于对HTTP Live Streaming服务器进行压力测试并监控下载性能。
#1
4
One option is to use VLC. You can specify a url on the command line. (see here for details). You could then write a brief shell script to open up all 5000 connections.
一种选择是使用VLC。您可以在命令行上指定URL。 (详情请见此处)。然后,您可以编写一个简短的shell脚本来打开所有5000个连接。
eg. the following perl script (very quick hack - check before running, might cause explosions etc.)
例如。以下perl脚本(非常快速的黑客 - 在运行之前检查,可能会导致爆炸等)
$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
}
If your video streaming server is doing multicast it should be sufficient to open sockets and make them members of your 5000 multicast groups (without necessarily doing anything with the stream. By not actually decoding the stream you will reduce performance issues on the client end).
如果您的视频流服务器正在进行多播,那么打开套接字并使其成为5000多播组的成员就足够了(不必对流做任何事情。通过实际解码流,您将减少客户端的性能问题)。
I'm not aware of any tools that will do this for you, but if you're up for writing your own utility you can start here for details.
我不知道有任何工具会为你做这件事,但是如果你想编写自己的实用程序,你可以从这里开始了解详细信息。
edit: The second option assumes that the OS on your client machine has multicast capability. I mention that because (from memory) the linux kernel doesn't by default, and I'd like to save you that pain. :-)
编辑:第二个选项假定客户端计算机上的操作系统具有多播功能。我提到这是因为(从内存中)linux内核默认情况下没有,我想为你省去那种痛苦。 :-)
Easy way to tell (again on Linux) is to check for the presence of /proc/net/igmp
告诉(再次在Linux上)的简单方法是检查是否存在/ proc / net / igmp
#2
2
start downloading 5000+ files of the same type with different connections. Don't really need to play them, because essentially the client video player, flash, windows media player, etc. will just be doing a download. So if you server can handle 5000+ downloads you will be fine. My bet is your bandwidth gives out before you server.
开始下载5000多个具有不同连接的相同类型的文件。真的不需要玩它们,因为基本上客户端视频播放器,闪存,Windows媒体播放器等只会进行下载。因此,如果您的服务器可以处理5000+下载,您将没事。我的赌注是你的服务器之前的带宽。
#3
1
For infrastructure, you can use either a JMeter SAAS or your own Cloud server to overcome possible network issues from your injector.
对于基础架构,您可以使用JMeter SAAS或您自己的云服务器来克服进样器可能存在的网络问题。
To reproduce user experience and have precious metrics about user experience, you can use Apache JMeter + this commercial plugin which simulates realistically the Players behavior without any scripting:
为了重现用户体验并拥有关于用户体验的宝贵指标,您可以使用Apache JMeter +这个商业插件,它可以模拟玩家的行为而无需任何脚本:
- Apple HTTP Live Streaming
- MPEG-DASH Streaming
- Smooth Video Streaming
Apple HTTP直播
流畅的视频流
This plugin also provide the ability to simulate Adaptive Bitrate Streaming
此插件还提供模拟自适应比特率流的功能
Disclaimer : We are behind the development of this solution
免责声明:我们支持此解决方案的开发
#4
0
I am also searching for the same answer, I come across with following tool may be it helps someone http://www.radview.com/Solutions/multimedia-load-testing.aspx
我也在寻找相同的答案,我遇到以下工具可能会帮助某人http://www.radview.com/Solutions/multimedia-load-testing.aspx
This tool is used to test video streaming. Hope it helps someone. I will update the answer if I get a better one .
此工具用于测试视频流。希望它可以帮到某人。如果我有更好的答案,我会更新答案。
Thanks.
#5
-1
This HLS Analyzer software can be used for stress testing HTTP Live Streaming server and monitoring downloading performance.
此HLS Analyzer软件可用于对HTTP Live Streaming服务器进行压力测试并监控下载性能。