Announcing our open source load test server
Discover faster, better SFU testing
Selective Forwarding Units (SFUs) are used heavily in video, audio, and data communications. We use them in many of the popular communications applications as part of our daily routines. When things are going smoothly, we see and hear each other without any interruption. Other times, audio and video can lag, or even stop, leaving a breakdown in communication and general user dissatisfaction.
What if it were possible to simulate communication among peers during CI or testing? What if you knew the maximum number of peer connections or the total load a SFU could handle? Suddenly you'd be able to allocate more servers when thresholds are reached and avoid any communication downtime.
This is exactly the problem we’re solving with the load test server. It allows you to benchmark your SFU so you know its limits — allowing you to act, not react, to problematic scenarios.
The server was built with Chromium WebRTC internals so that every connection is like a real browser/application connection. We included a powerful and easy-to-use gRPC API to make adding peers a breeze. To make the API even easier to interact with, we developed a NodeJS SDK for seamless integration into your continuous integration pipeline.
Headless browsers can test SFUs today, but they have limitations, as well as a big footprint. We pulled out the guts of the browser's WebRTC stack to eliminate the large application size and unnecessary running services. Now you can test more connections (over 1,000) per load test server, and save on operating costs in the cloud.
We invite you to put the load test server into action and discover what you can do with it. Check out this article for a step-by-step walkthrough on testing your mediasoup SFU, and dig in to the repositories on GitHub.