Microsoft Silverlight Performance Testing with HPE LoadRunner

sillverlightMicrosoft Silverlight is a technology that delivers interactive web content. It is designed to give a rich web experience using various media and can be programmed using any of the languages in the .NET framework. Fortunately, Hewlett Packard Enterprise (HPE) LoadRunner has a Microsoft Silverlight protocol to assist with load testing applications that use this technology.

When beginning the planning process to test Microsoft Silverlight, the first consideration is to ensure you have access to a compatible browser. Microsoft Silverlight 5 is currently compatible with Internet Explorer versions 7-11 and Mozilla Firefox version 12 and up. (Note that Microsoft Silverlight will not be compatible with the new Microsoft Edge browser.) After recording the application, VuGen will produce a script that is a combination of web and Microsoft Silverlight web service calls. Any scripter who is familiar with web and web service protocols will find the scripting process to be quite similar. For example, the same correlation functions and techniques can be used for Microsoft Silverlight scripts as web and web service scripts.

One consideration is that the protocol is extremely chatty. You may find that a simple step such as performing a search can generate an XML tree that is thousands of lines long. I have personally witnessed a single web service call in excess of 17,000 lines of code. A single click can also generate a large number of calls, resulting in an action file that is also thousands of lines long. Take this into consideration when planning how long a script will take to produce. Reading through all of that code can be an arduous process.

When it comes time to perform the actual load test, there are additional considerations to account for. First, the load generators to be used must have Microsoft Silverlight installed. Depending on how many users you plan to test, you may need to have additional load generators (or more powerful generators) than you would for a standard web test as a result of the large amount of HTTP traffic this protocol generates. Keep an eye on test host monitors to ensure the resource utilization on the load generators does not become excessive.

To help with results analysis, you will need to set up monitors that gather data while you are testing to correlate the results of your test to issues seen in the application. For example, issues like high CPU utilization or low available memory can cause response times to increase to levels much higher than expected. HPE Sitescope can help with monitoring Windows resources for this purpose. If you have an installation of HPE Diagnostics, the .NET Diagnostics module can also help pinpoint issues with the application under test by gathering information about where transaction time is being spent per element or average server method response time. Then, if you see one of your long running transactions is spending 90% of its time in one single call, you know exactly where to begin looking.

Using a robust toolset like the HPE suite—along with the right techniques—can help you get the most out of your Microsoft Silverlight testing. The monitoring and diagnostics tools allow you to see under the hood of the application to find out the reason for any high response times you will see while running your load test. When you are testing a heavy protocol like Microsoft Silverlight, a well-crafted load test can be the difference between a triumphant success and a catastrophic failure.

Leave a comment