How to performance test a Wowza Server Engine with JMeter and UbikLoadPack streaming solution

on 9 November CI, CLOUD, DEVOPS, EVENT, HLS, LL-HLS, MPEG-DASH and Tags: , , , , , , , with 0 comments

It’s getting harder and harder to realistically simulate video players, not to mention low-latency environments.


Fortunately, the innovative features of our streaming load testing solution will make it much easier for you with ability to scale you test up to million Players.

In this blog, we will see how to performance test a Wowza Server Engine with JMeter and UbikLoadPack streaming solution.

1/ Configure the Wowza Steaming engine

Ensure your server is accessible from injector machine and is configured in an optimal way for your target load.

Wowza advises using for example RAID 0 or RAID 10 configurations for disk. Ensure also there is no network contention between your injector and Wowza engine.

2/ Configure the injector(s)

Select your injectors. Be notice the maximum number of player connections you can simulate per injector depends on the characteristics of your injector.

Check Java 8 or higher is installed on it

Install and configure JMeter

> Download and unzip Apache JMeter

> Install JMeter by running one of the following files in the bin folder within the JMeter download: Linux: jmeter / Windows: jmeter.bat / macOS: jmeter.sh

The JMeter user interface will launch

Follow this tutorial to install the UbikLoadPack Video Streaming Plugin.

3/ Create your test

> Right-click Test Plan and then click Add > Threads (Users) > Thread Group

> On the Thread Group page, configure the following settings:

A / Number of Threads (users) – Enter the number of virtual users to simulate per injector

B/ Ramp-up period (seconds) – Enter the time, in seconds, for JMeter to get the full number of threads chosen up and running.

C/ Loop Count – Click the Infinite checkbox to loop the thread connections until you stop the test or specify the number of times to run the test.

> Right-click Thread Group and then click Add > Sampler > ULP Video Streaming Sampler

> On the UbikLoadPack Video Streaming sampler, configure the following settings:

A/ Playlist Manifest URL – Enter an HLS, MPEG-DASH or Smooth playback URL with the IP address, streaming port, application name, and live or VOD stream name of the Wowza Streaming Engine instance on the target computer, similar to the following examples:

HLS: http://[address]:[port]/[application]/[streamName]/playlist.m3u8
MPEG-DASH: http://[address]:[port]/[application]/[streamName]/manifest.mpd

Stream Type: Select Auto

B/ For Duration, select “Play the entire video” or Play only part of the video and enter a time in seconds

> Save the test plan (.jmx file) in the /bin folder in the JMeter directory.

> To copy this configuration and test plan to other client computers, create a .zip file of the entire JMeter directory and then copy it to the other client computers and unzip the contents.

4/ Run the test plan

Before running the test, check that the stream to test is ready on the target computer:

  • Live applications: Verify that the live stream is running.
  • VOD applications: Verify that the VOD file is in [install-dir]/content.

For optimal results, we recommend running the test plan in CLI/Non GUI mode (Command Line mode).

> Launch JMeter if it is not already running.

Linux: jmeter

Windows: jmeter.bat

macOS: jmeter.sh

> Open a command-line interface.

> Change directories to the /bin folder within the JMeter install directory:

 Copy

cd [JMeter-install-dir]/bin

> Run the test plan with a command similar to the following example:

 Copy

./jmeter -n -t [test-plan-name].jmx -l [test-results].jtl -e -o report


where [test-plan-name] is the name you selected when saving your test plan and [test-results] is a name of a file to create and save the test results.

As your test runs, some of the test logs will appear in the command line interface. Complete logs are saved to jmeter.log in the /bin folder by default.

An HTML report will be generated in report folder, it will contains lot of metrics to help you analyze the performance of your streaming server and a custom tab showing metrics about User Experience.

You can monitor your application and server performance from the Wowza Streaming Engine instance on the target computer.

The Monitoring page for an application, the Server Monitoring page, and the Virtual Host Monitoring page provide comprehensive metrics with real-time data about CPU and memory usage, connection counts, client players, applications, and network statistics. For more information, see Monitor server connections, load, and application statistics in Wowza Streaming Engine.

After your test is stopped, you can view your test results in the /bin folder if you specified a file when starting the test.

About UbikLoadPack:

You’ll probably also like: