3

Wowza is causing us troubles, not scaling past 6k concurrent users, sometimes freezing on a few hundred. It crashes and starts killing sessions. We step in to restart Wowza multiple times per streaming event.

Our server specs:

DL380 Gen10
2x Intel Xeon Silver 4110 / 2.1 GHz
64 GB RAM
300 GB HDD
The network 10 GB dedicated
Some servers running Centos 6, others Centos 7
Java version 1.8.0_20 64-bit
Wowza streaming engine 4.2.0

I asked and was told:

Wowza scales easily to millions if you put a CDN in front of it (which is trivially easy to do). 6K users off a single instance simply ain’t happening. For one, Java maxes out at around 4Gbps per JVM instance. So even if you have a 10G NIC on the machine, you’ll want to run multiple instances if you want to use the full bandwidth.

And:

How many 720 streams can you do on a 10gb network @ 2mbps?

Without network overhead, it’s about 5,000

With the limitation of java at 4gbps, it’s only 2,000 per instance. Then if you do manage to utilize that 10Gb network and saturate it, what happens to all other applications people are accessing on other servers?

If they want more streams, they need edge servers in multiple data centers or have to somehow to get more 10Gb networks installed.

That’s for streaming only. No idea what transcoding would add in terms of CPU load and disk IO.

So I began looking for an alternative to Wowza. Due to the nature of our business, we can't use CDN or cloud hosting except with very few clients. Everything should be hosted in-house, in the client's datacenter.

I found this article and reached out to the author to ask him about Flussonic and how it compares to Wowza. He said:

I can't speak to the 4 Gbps limit that you're seeing in Java. It's also possible that your Wowza instance is configured incorrectly. We'd need to look at your configuration parameters to see what's happening.

We've had great success scaling both Wowza and Flussonic media servers by pairing them with our peer-to-peer (p2p) CDN service. That was the whole point of the article we wrote in 2016

Because we reduce the number of HTTP requests that the server has to handle by up to 90% (or more), we increase the capacity of each server by 10x - meaning each server can handle 10x the number of concurrent viewers.

Even on the Wowza forum, some people say that Java maxes out at around 5Gbps per JVM instance. Others say that this number is incorrect, or made up.

Due to the nature of our business, this number, as silly as it is, means so much for us. If Java cannot handle more than 7k viewers per instance, we need to hold meetings and discuss what to do with Wowza.

So is it true that Java maxes out at around 4Gbps or 5Gbps per JVM instance?

Boann
  • 48,794
  • 16
  • 117
  • 146
Lynob
  • 5,059
  • 15
  • 64
  • 114
  • Just a guess: You may need a special JVM implementation such as the commercial product [*Zing*](https://www.azul.com/products/zing/) from Azul Systems. – Basil Bourque Nov 24 '19 at 17:15
  • When you say “freezing” do you mean a pause? If so, for how long? And how often? Or do mean it stops altogether, a crash? – Basil Bourque Nov 24 '19 at 17:18
  • @BasilBourque it crashes and start killing sessions, we restart the server. Will take a look at zing thank you – Lynob Nov 24 '19 at 17:20
  • The question should be `is it true that Wowza maxes out at around 4Gbps or 5Gbps per JVM instance?`. This high level question can then be converted to questions about resource (memory, threads, sockets, etc...) utilization on your JVM instance at the time it starts misbehaving. Once you have the numbers, you can attempt a solution or accept that that is as far a Wowza can go. – David Soroko Nov 24 '19 at 20:30
  • Whenever someone throws an absolute number at you, without any explanation or proof, you can safely assume it to be made up. Why should “Java” (not even a particular JVM/JRE implementation) have an intrinsic hardware independent bandwidth limit? That doesn’t make any sense. – Holger Nov 25 '19 at 08:55

0 Answers0