Our friends at Ubik wrote this article about using the Load Pack with Flood, and we are reposting it here with permission.
In this blog, we will see how to run a Video Streaming Performance Test using Flood.io and UbikLoadPack to check the performances of a platform delivering one of the following formats:
- Apple HLS
- Microsoft Smooth (HSS)
- Adobe HDS with
We’ll use the following tools:
- Apache JMeter to setup the test
- UbikLoadPack Video Streaming Plugin to simulate realistically video players and get Video Metrics
- Flood.io to run the massive test
To run what is described below:
- Install Java 8 or Java 11
- Request a trial version of UbikLoadPack Video Streaming Plugin, you’ll receive a mail with an attached trial license and a link to download the bundle.
The JMeter test plan
We’ll use a very simple test plan :
Note that the thread parameter values are hardcoded here, but we would need to change the values to use properties set by Flood so that they can be set from the Flood user interface.
In UbikLoadPack streaming sampler we just set
- Playlist URL to the HLS manifest URL (we use a property MANIFEST_URL to be able to modify it from outside of JMeter, it defaults to our Mock server “http://localhost:8080/hls/live/test.m3u8“)
Testing your own Video Streaming servers
If you want to test your own servers, just pass in Advanced parameters of flood IO Stream configuration, for example:
Creation Steps on Flood.io
Login to Flood.IO and click on Stream > Create Stream
Test Design Configuration
Enter Test name, select Script Upload checkbox and Click on Choose Files.
Upload the following files:
- ubik-streaming-plugin.license.txt (attached to the trial mail when you request a trial), ensure your add the suffix .txt to be able to upload it
- ulp_video_streaming_demo.jmx (your test plan)
- ulp_vs_bundle.zip a zip bundle with following structure
To create this bundle, run from the folder containing bin and lib folders:
zip -r ulp_vs_bundle.zip bin/ lib/
You end up with this this configuration:
In Advanced Parameters, you can pass regular JMeter properties, in this example we’ll pass the URL of our Manifest
Click on Configure Launch:
- Select the regions you want
- Define Users per region: 10 in our example
- Duration: 15 minutes in our example
- Rampup: 1 minute in our example
You’ll then have to wait for test to start (4 minutes as average in our tests):
The test then starts and you can see graphs appear to monitor your test:
You can select the Sampler (Chunk here) you want to watch:
Once test is finished, click on the icon on the upper right where you can download result by clicking on Archived Results:
You can then generate the HTML report using JMeter menu Tools > Generate HTML Report:
At the end, we have a JMeter HTML report generated with custom UbikLoadPack report in the report folder.
Lag Ratio over time:
Buffer Fill over time
Lag Ratio without Buffer fille over time:
Request a trial version HERE.
Ask for a turnkey or consulting service at email@example.com.
- Ubik Load Pack is used by Big players in the Video streaming field
- We provide professional services for Load Testing
- Learn more about our streaming plugin
- Get a Free trial
- Manage your UBIK Load Pack plugins with JMeter-plugins Manager
- Load Testing Smooth Streaming Video with JMeter
- Load testing MPEG-DASH Video Streaming with Apache JMeter and UbikLoadPack
- Load testing HLS Video Streaming with JMeter and UbikLoadPack