Are there any numbers for projecting server usage?

I am looking for some sort of numbers that’d give me an idea of the amount of simultaneous streams from users per core and GB of RAM to come up with an idea of how many licenses we will need as well as how many AWS EC2 instances. We would be using the streaming and transcoding where a user shoots video from their device then broadcasts to other mobile devices. We would also be storing the video for playback later, but that’s easier to project on S3.

All I’ve found so far are the published server requirements and recommended specs, but these numbers don’t really say how many simultaneous streams could theoretically be accommodated based on hardware. If someone could point me in the right direction or give me an idea it’d be greatly appreciated.

Hello there and welcome to the wowza support forum.

The limiting factor here is usually bandwidth.

With a 1g nic (20% overhead accounted for.) = 800mbs throughput, which is 800 1 mbs streams, or 1600 500kbs streams.

You can use this formula for calculating:

number of users * stream bitrate + 20% IP overhead = total server bandwidth

You will have to test your actual server/network using the load test tool, or monitoring utilization in production. You must be properly tuned. And to achieve maximum levels you may have to tune your server and network in other ways outside Wowza.

Regards,

Salvadore

Hi,

CPU and RAM can certainly be limiting factors, CPU in particular if you expect to be doing any Transcoding (benchmarks here. You can calculate memory usage (up to a point) using the formula shown in this HLS article (obviously for HLS streams in this case, but useful as a general ballpark figure).

There are some limitations regarding network throughput that are really specific to the Java JVM. We usually say to expect about 5Gbit throughput per Wowza instance, though this can be increased based on OS tuning etc but is often hardware (NIC) specific.

Regards,

Paul

Hello there and welcome to the wowza support forum.

The limiting factor here is usually bandwidth.

With a 1g nic (20% overhead accounted for.) = 800mbs throughput, which is 800 1 mbs streams, or 1600 500kbs streams.

You can use this formula for calculating:

number of users * stream bitrate + 20% IP overhead = total server bandwidth

You will have to test your actual server/network using the load test tool, or monitoring utilization in production. You must be properly tuned. And to achieve maximum levels you may have to tune your server and network in other ways outside Wowza.

Regards,

Salvadore

So CPU and RAM rarely ever are limiting factors then? For sake of example, if I had an instance on AWS with a 20G NIC theoretically throughput could be 8000 1 mbs streams * 2 so 16000 on one instance?

For example this instance type: m4.16xlarge 64 CPU and 256 GB RAM with 20G NIC