Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to stress-test video streaming server?

Tags:

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.

like image 905
Alvin Avatar asked Sep 30 '08 01:09

Alvin


People also ask

What is a streaming test?

Video streaming test feature is designed to measure video quality of experience on smart mobile device connected over 2G/3G/4G/5G/Wi-Fi networks by calculating key performance indicators for video QoE parameters such as Launch Time, Load Time, Stalled Time and Total Video Play Time.


2 Answers

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.

eg. the following perl script (very quick hack - check before running, might cause explosions etc.)

$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).

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. :-)

Easy way to tell (again on Linux) is to check for the presence of /proc/net/igmp

like image 154
Andrew Edgecombe Avatar answered Oct 21 '22 10:10

Andrew Edgecombe


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.

like image 34
Nick Berardi Avatar answered Oct 21 '22 09:10

Nick Berardi