Hardware Benchmarks

Do you have general benchmarks for maximum connections on your server?

ANSWER:

We use 2,000 concurrent connections as our average but the concurrency you can expect per Red5 Pro Server depends on two major factors, the specs of the hardware you deploy on and the quality of stream you are sending. Concurrent connections are the number of connections occurring at the same time where a connection consists of 1 broadcaster OR 1 subscriber.

We do have some info on AWS EC2 instance performance.

High-level summary of load testing results:

Stream Manager: t2.small

Origin: t2.small

Edge: t2.small (single 2.5GHZ processor, 2GB ram)

The t2.smalls could only handle 400 concurrent connections, but sometimes showed issues with as few as 200; CPU fluctuated between 50 and 76%, and connections were dropped. If we exceeded 400 connections, the server was left in an unstable state.

** conclusion: this server instance type is not recommended

Stream Manager: t2.small

Origin: t2.small

Edge: m3.2xlarge (8-core Xeon processor, 30GB ram)

note: we were hampered in fully testing the capacity of the m3.2xlarge while waiting for Amazon to give us additional instances, however we saw that the m3.2xlarge could easily handle 1,200 concurrent streams, and we saw that it was stable with as many as 2,600.

With enhanced networking configured, we were able to run 3,600 concurrent streams against the c3.2xlarge (with some “insufficient bandwidth” alerts), without losing any connections or maxing CPU.

Recommendations Based on Testing Performed:

Given the testing that we have done, it appears that you will get good performance running the edge servers on m3.2xlarge instances (easily supporting 1,000 streams per server). However, there may be advantages to using the c3.2xlarge, with enhanced networking.

In order to make the best decision on the right server instances to go live with, a series of more refined tests with the m3 instances would need to be done. While we’ve figured out the capacity before insufficient bandwidth warnings start showing up for c3.xlarges, we don’t know the exact capacity of the m3 line of servers. Likewise, there are many variables to play with here including what instance type the Origin server is running. Because of this you could try running tests with many permutations of server combinations.

Overall, due to the good performance we saw with m3.xlarge instances, and the fact that they are priced cheaper than the c3 line, we believe they would make the best choice for the edge servers in a cluster.

**NOTE: The above-mentioned tests were run against the server in November 2015 using a Flash publisher with settings of 320x240 at 512kbps. Many improvements have been made to the Red5 Pro server since we ran these tests. Also, AWS introduced the C4 series, which we recommend because Red5 Pro is more CPU intensive than Memory.