LoadRunner and Performance Center
Showing results for 
Search instead for 
Do you mean 

Load Test your Smooth Streaming applications with HP LoadRunner

‎08-26-2013 10:00 AM - edited ‎09-22-2015 01:39 PM

This post was written by Yoav Agami, from the HP LoadRunner R&D team.

 

Smooth Streaming is an Internet Information Services (IIS) Media Services extension which provides streaming of high-quality video to Silverlight and other clients over HTTP.  The major difference between Smooth Streaming and traditional streaming is that traditional streaming delivers the content at a fixed rate and quality, while Smooth Streaming adapts the stream rate and quality by monitoring the local bandwidth and video playback performance of the client.  This article explains how you can use HP LoadRunner to load test applications that use Smooth Streaming.

 

Here are the steps you need to take to create a load test of a Smooth Streaming application:

 

1)  Use the Web (HTTP/HTML) protocol to record your Smooth Streaming application, and generate a script.

 

Note: Before you start recording,configure the Recording Options dialog's General > Recording tab as follows, depending on whether you want to record a URL-based script or HTML-based script:

  • URL-Based Script:  Select 'URL-based script', and click the 'URL Advanced' button.  In the resulting 'Advanced URL' dialog, check the 'Use web_custom_request only' checkbox:

p1.png

 

  • HTML-Based Script: Select 'HTML-based script', and click the 'HTML Advanced' button.  In the resulting 'Advanced HTML' dialog, select 'Record in separate steps and use concurrent groups':

p2.png

 

If you selected HTML-based script, remove the web_custom_start(NULL); and web_concurrent_end(NULL); steps for streaming steps.

 

2)  Look for the “Manifest” request, which is the start of the streaming communication:

 

web_custom_request("Manifest"
        "URL=http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/Manifest", 
        "Method=GET"
        "Resource=0", 
        "RecContentType=text/xml"
        "Referer="
        "Snapshot=t11.inf"
        "Mode=HTTP"
        LAST);

 

3) After the “Manifest” request, you should find a number of Streaming requests, which look like the following:

 

    web_custom_request("Fragments(video=0)"
        "URL=http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/QualityLeve...350000)/Fragments(video=0)"
        "Method=GET"
        "Resource=1"
        "RecContentType=video/mp4"
        "Referer="
        "Snapshot=t12.inf"
        LAST);

    web_custom_request("Fragments(audio=0)"
        "URL=http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/QualityLeve...64000)/Fragments(audio=0)"
        "Method=GET"
        "Resource=1"
        "RecContentType=video/mp4"
        "Referer="
        "Snapshot=t13.inf"
        LAST);

 

 

4) You can configure the the script to emulate different bandwidths than the ones recorded:

 

      - Create parameters for the values you want to change

 

      - For example, replace “QualityLevels” in the previous step with a parameter called ‘qualityLevel’, as follows:

 

    web_custom_request("Fragments(video=0)"
        "URL=http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/QualityLeve...{qualityLevel})/Fragments(video=0)"
        "Method=GET"
        "Resource=1"
        "RecContentType=video/mp4"
        "Referer="
        "Snapshot=t12.inf"
        LAST);

 

You can configure the values that will be used for ‘qualityLevel’ in each iteration from the Parameter Properties dialog box:

 

paramprops.png

 

 

5) Replay the script. Verify that the size of the response from each request corresponds to the value of the parameter that was sent.

 

 

 

 

Leave us a comment in the box below to let us know how you are load testing your Smooth Streaming applications.

 

 

 

Thanks to Yoav for providing this article!

 

 

Click here to learn more about HP LoadRunner

 

 

DownloadWP-LoadFactor-Performance testing for web applications.png

 

About the Author

MalcolmIsaacs

Malcolm is a functional architect, focusing on best practices and methodologies across the software development lifecycle.

Comments
Belfd on ‎08-27-2013 03:08 PM

Short and to the Point. Good job Yoav.

10x

Dan

gatlaprasanna on ‎05-26-2014 10:11 PM

We are working for one of the video streaming application, followed all the above said steps, but when we replay the recorded script we see warning in the replay log as "Warning -26682: Embedded space(s) or misplaced quotes in value of "Pragma" response header for"

 

Is this some kind of corrleation we missed out or ?

 

Thanks,

Prasanna

on ‎05-27-2014 12:15 AM

Hi Prasanna,

 

This doesn't sound like a problem with correlations. The user send the quality level that he wants (user can set parameter that can change in  each request).

 

Can you share your AUT or script?

 

Thanks,

Yoav

Leave a Comment

We encourage you to share your comments on this post. Comments are moderated and will be reviewed
and posted as promptly as possible during regular business hours

To ensure your comment is published, be sure to follow the Community Guidelines.

Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
Events
January 2016
Online
Software Expert Days - 2016
Join us online to talk directly with our Software experts during the online Expert Days - see details below. Software experts do not monitor this foru...
Read more
Ongoing
See board event postings
Vivit Events - 2016
Learn about upcoming Vivit webinars and live events in 2016.
Read more
View all