Janus load testing
How many viewers one Krona.Chat server can handle: results of load testing the Janus video server.
Tested on 10 October 2026
How the setups work
Mixed: model → mixed server → that model's viewers. All the viewers of one broadcast have to fit on one server.
Split (cascading): model → model server → one or more viewer servers → viewers. The model server itself forwards the video between servers (cascading) — no separate server is needed for it. When a broadcast has many viewers, they are spread across several viewer servers.
Key takeaways
- One server reliably delivers video to 330–360 viewers at once — with no freezes and no loss of quality.
- When receiving broadcasts is moved to a separate server, a viewer server handles about 10% more viewers than a mixed one, and a single broadcast can have any number of viewers — they are spread across several viewer servers.
- Receiving broadcasts barely loads the server. Most of the load is delivering video to viewers.
- The server uses almost all of its network port: up to 900 Mbit/s of video to viewers with no loss on a 1 Gbit/s port. Past the limit, quality drops for everyone at once, so servers are loaded with headroom — and that is how the calculator at the bottom of the page counts.
How we tested
We tested Krona.Chat video servers. Models and viewers were software clients that behave like a browser: they join a room, send and receive video.
Start the broadcasts
Models start streaming 1080p video at about 2.5 Mbit/s — like a real webcam.
Add viewers
A new viewer connects every 2 seconds, so the load grows smoothly.
Watch the quality
For every viewer we count how much video is lost on the way. While the loss is under 1%, the picture is smooth.
Find the limit
The test stops when quality starts to drop. The most viewers with no loss is the server's capacity.
Each setup was checked in a separate test. Every line on the charts is its own test; the lines don't add up.
Results
How much video the server sends to viewers
The more viewers, the more video the server sends. While the line rises steadily, every viewer gets the full video. When the line breaks downward, the server is overloaded and can't deliver video to everyone.
Show table
Mbit/s — how much video the server sends to all viewers per second. Green frame — the most viewers with no loss of quality; red background — overload.
Video quality for viewers
The share of video that didn't reach the viewer. Up to 1% the viewer doesn't notice it; above that, the picture freezes and breaks up. A sharp rise in loss is the server's limit.
Show table
Video loss for viewers, %. Green frame — the most viewers with no loss of quality; red background — overload.
Server CPU load
The CPU never reaches 100%: the server hits its limit on video delivery first. Past the limit, the load even goes down — the server loses video instead of sending it.
Show table
CPU load, %. Green frame — the most viewers with no loss of quality; red background — overload.
Which setup to choose
All figures are for 1080p video at about 2.5 Mbit/s, with no loss of quality.
Mixed server
up to 330 viewersModels and their viewers on one server. In the test, each broadcast had about 33 viewers.
Suits broadcasts with up to a few hundred viewers. With many broadcasts and few viewers each (about 10), the server handles a little less — about 280.
Split setup
up to 360 viewersModel servers receive the broadcasts, viewer servers show them. A viewer server handles about 10% more viewers than a mixed one.
Suits large audiences: the viewers of one broadcast are spread across several viewer servers, so there is no "the whole audience on one server" limit.
Model server
~220 broadcastsPart of the split setup: it receives video from models and forwards it to the viewer servers. It's light work: 120 broadcasts loaded the server only 14%.
~220 is estimated from measurements: for this server, each broadcast is one incoming video and one onward forward.
Compared with the calculator on the site
The site's server calculator assumes about 700 Mbit/s of video to viewers per server. The test showed that a server with a 1 Gbit/s port delivers up to 900 Mbit/s with no loss, so the calculator on the site counts with good headroom.
For 2.5 Mbit/s video, that's 330–360 viewers per server. For 1080p at 3 Mbit/s — about 290 viewers by calculation.
Calculator: how many servers you need
It uses the coefficients we got in the tests. Enter your load and the server price at your provider.
The results were obtained on a test server and may differ depending on the provider, network and broadcast settings.
The report was generated by orchestration/capacity_report.py from the test-run data (Locust + Prometheus + viewers' RTP statistics).