It’s Time To Load Test Your Streaming Media for March Madness
March Madness is almost here! Is your website or app ready for the expected traffic spike during all of the biggest games?
Now is the time to run load tests on your streaming media to make sure that your users can watch the games they want, without complaints about streams cutting in and out, or crashing entirely. JMeter can help, but first a bit of background.
RECORD HIGH NUMBERS OF STREAMING REQUESTS
Did you know that 2015’s NCAA tournament saw record high numbers of requests to watch the games through streaming media on their computer, tablet or mobile phone? Turner Sports’ NCAA March Madness Live reported more than 80 million streams during 2015 NCAA tournament, up 17% from the previous year. They also reported that mobile consumption of their streams also dramatically increased with live video streams and hours of live video consumption both up 20 percent over last year. Their mobile app also set a record for the National Championship game with 3.4 million live video streams.
Website performance under these increased traffic and user requests is critical. You don’t want to be known more for slow loading times or unresponsiveness than high quality and user experience.
HLS AND JMETER TO THE RESCUE
Thankfully, BlazeMeter’s Itay Mendel wrote a comprehensive, in-depth blog post on how you can perform critical load and performance tests, leveraging both HLS (HTTP Live Streaming) protocol and the open source platform Apache JMeter. As HLS is based on HTTP, generated traffic can be easily consumed by JMeter, which means that it’s easy for us to create load tests.
You can read that full post, How to Load Test HTTP Live Media Streaming (HLS) with JMeter.
It’s interesting though to understand briefly some key concepts of how and why Apple created HLS, which breaks down the “complete” stream into a series of small, sequential HTTP-based file downloads, which is then played as a “playlist” that combines to create the overall stream.
First, they realized that, when viewing a live stream, users don’t need to download the full video to start playing it. It may seem obvious, but what is key is that one can view the first section(s) of the playlist, while the later sections continue to download, while the viewer sees the stream as a continuous flow (if it works properly). This of course is especially important in terms of watching a live event (even though the stream is being viewed after a small delay, not in real-time).
It’s also noteworthy that the playlist can be smart, in that it can realize more quality or faster streams and have the browser easily (and seamlessly) switch between the downloaded files without the end user even noticing.
Additionally, as Itay mentioned in his post, HLS is able to bypass firewalls or proxy servers that allow standard HTTP traffic in. As a result, it’s easily distributed across a wide range of CDNs. Which is why the end user will be able to view the games this year on a variety of websites and apps.
So yes, HLS is both efficient and effective. Now - good luck in your testing!
WANT TO LEARN MORE?
For more information about load testing HLS with JMeter, read the complete blog post here.