Load Testing the WebRTC Video Streaming Server

Support team
SHARE

No, it’s not the latest B-rated horror film (although it should be). Rather it’s the name of the Chicago Tribune’s load testing program. This tool leverages AWS to spin up EC2 instances to bombard an application, similar to a denial of service (DOS) attack. Bees With Machine Guns was originally created to test the Tribune’s… Continue reading Load Testing the WebRTC Video Streaming Server

No, it’s not the latest B-rated horror film (although it should be). Rather it’s the name of the Chicago Tribune’s load testing program. This tool leverages AWS to spin up EC2 instances to bombard an application, similar to a denial of service (DOS) attack.

Bees With Machine Guns was originally created to test the Tribune’s website. That means it was designed for HTTP, so after we forked it, we had to modify the source code to support our specific live streaming video protocols:

Basic Functionality

Each Bee program runs an “attack” on a server. It does this by creating clients that subscribe to a video stream coming from that server. One Bee can have a number (N) of Bullets (or stingers, if you will) that are fired concurrently.

By creating these virtual clients, the Bees stress the targeted application server in order to get a better idea of how many concurrent connections the system architecture can support at the same time.

Open Source

All our Bee programs are available on our publically accessible GitHub page. They are Open Source and free to use. So feel free to use the links above and take a look at them for yourself. We hope the Bees will be as useful to you as they are to us.

Benchmarks

Test Conditions

Tests were run against an AWS c5.large instance (2 CPUs with 4GB memory, 2GB allocated to java_heap). We used our RTMP Bee, RTSP Bee, and RTC Bee clients to do load testing.

Publishing a 256kbps stream via RTMP, we were able to achieve the following while still maintaining the quality of stream:

WebRTC
  • 500 Subscribers
RTSP (Mobile)
  • 2,000 Subscribers
RTMP
  • 1,200 Subscribers
    The same server type can support approximately 75-80 480p RTMP publishers.

That’s Not All

Despite this positive performance, we’ve never been known to rest on our laurels. So we are not stopping there and are continuing to optimize Red5 Pro.

In the meantime, feel free to try it out yourself.

Lastly, let it be known that if anyone makes Rambo reboot with a bee in the leading role (Rambo: Sting of Fury), we’re claiming production rights.