August 10, 2014

Utilizing all bandwidth with Nimble Streamer

Our customers use Nimble Streamer for wide variety of scenarios. Some of them use it in extreme use cases when they need to utilize all the bandwidth they have to serve their video to the maximum number of users. Since Nimble is very light-weight, it is possible to get the most of any network available long before running out of resources.

Recently our customer used Nimble Streamer to take all he can from his 10 Gbps channel. And he succeeded. Thousands of viewers were pulling 7 streams of various bitrates, mostly 1.5Mbps.

Here's what collectd monitoring shows, 10Gbps at peak.

Collectd stats.
WMSPanel stats shows similar numbers. The panel gets peak data number each 30 seconds so the data varies a bit from what we see in collectd chart.

Peak bandwidth as seen from Nimble Streamer perspective.

Nearly 13K connection were established within 15-minute intervals, you can see that on the screenshot below. Having in mind real-time monitoring during the event we can say that it had nearly 6000 simultaneous connections to this instance.

Retrospective chart for streaming event.

Did it go well for the host server which Nimble Streamer was running on? Yes, it feels fine. Check the charts for CPU and memory usage. CPU level for 8 cores was less than 40% and RAM amount grew up to 4GB on the topmost peak. The majority of RAM was used by OS networking according to "htop" output.

Nimble Streamer host server parameters.

Fine tuning

This significant amount of connections and bandwidth required additional performance fine tuning. Read this article to learn more about available setup options and check our "Example" section where you can see some reference steps which might be used in case like the one described above.

This is one of the example of how Nimble Streamer can be used for creating high-performance streaming infrastructure. You may also take a look at Nimble's usage as part of large CDN and get familiar with live streaming use cases.

If you have any question regarding Nimble Streamer and its usage, just contact us any time.

Related documentation

Nimble Streamer performance tuningLive streaming with NimbleTransmuxing RTMP to HLSAdaptive bitrate for RTMP to HLSPull RTMP to transmux into HLSNimble configs explainedCPU and RAM level alertsLive Transcoder for Nimble StreamerBuild streaming infrastructure with Nimble Streamer,