This article is devoted to the testing of programs that use virtual desktop acceleration to improve performance. Here we will consider features of virtualization, testing scenarios, some useful tools and tips, and also will give examples of real test cases.

Plan

  1. Virtualization of applications and desktops
  2. What is Acceleration and what it is used for
  3. Preparation of testing environment
    • Configuring LAN
    • Configuring WAN
    • Traffic measuring
  4. Check list

1. Virtualization of applications and desktops

The virtualization of applications and desktops is a new level of implementation of the remote access to corporate applications and data.

What is the difference between the application virtualization and desktop virtualization?

At first sight, both notions deal with the virtualization of applications. But there is a difference from the conceptual and technical points of view:

  • During application virtualization, the client computer (PC) acts like an independent computer system. Local OS is launched on it and user can start both locally installed applications and remote applications, which are started on the server.
  • During desktop virtualization, user has no access to the resources of the client PC. The client OS is started on the server and the screen image is displayed on the client PC by means of terminal technologies. This means that user can’t choose applications as all applications required for user work are configured by the IT-administrator beforehand.

The following operating systems with different service packs can serve as desktops:

  • TS 2003 x32
  • TS 2003 x64
  • TS 2008 x32
  • TS 2008 x64
  • TS 2000 x32
  • Windows XP x32
  • Windows XP x64
  • Win7 x32
  • Win7 x64
  • Windows Vista x32
  • Windows Vista x64
  • Macintosh family
  • Linux family

Virtualization is used in the following cases:

  1. User needs some special OS for a short period of time. For example, he uses Linux OS, but he needs Windows OS.
  2. Complete substitution of user desktops. This allows decreasing the cost on the hardware service of the client PC. This means that due to desktop virtualization, the creation of new jobsites becomes easier, quicker and cheaper.
  3. Providing users with specific applications that helps to cut down application management on hundreds and thousands of user devices in the company. Any application, required by user, can be started on his jobsite without addressing to the support service for the installation of the application on the local PC or searching for another computer with installed software.
  4. Organizing test environment.

These innovations help to achieve the optimal productivity, security and efficiency regardless of the used application, desktop, features of the network connection and the client device in contrast to corporate technologies used in the past.

2. What is Acceleration and what is it used for?

Acceleration is a special feature, which adds an optional compression to Microsoft RDP. This means that it helps to view graphic objects in the session quicker and more qualitative while using less traffic.

Acceleration is used when:

- viewing the video in the browser.

To check it, we start two sessions simultaneously (they can be launched from different desktops): Microsoft RDP session and our program with enabled Acceleration. Then we run any video for example from youtube and see that it is playing quicker in our program than in Microsoft RDP.

- viewing different images in the session.

This means that we can open both separate image and the document with the variety of images. Here, the speed of image displaying should be higher with the enabled Acceleration option (we can compare both with Microsoft RDP and with our application with disabled Acceleration option).

We should also check how Acceleration option works in LAN and WAN networks.

3. Preparation of testing environment

Local Area Network (LAN)

Features of the local network are:

  • geographical limits;
  • providing the access to the environment with high network capacity to many users;
  • permanent connection to local services;
  • physical connection between nearly situated devices.

The distance between computers in the local network is not more than 300 m, as a rule.

It is not difficult to make LAN, so we won’t stop on it.

Wide Area Network (WAN)

Global networks are the set of interconnected nodes, which are geographically remote. It causes delays while transferring information via the network.  So, while testing Acceleration functionality, we face the problem of WAN test environment emulation.

Let’s examine how we can configure the WAN in test lab conditions. We use two different variants.

1. Simulate WAN Connections on the example of Microsoft RDP

Step 1

First, we simulate the low network capacity.

We can use for example NetLimiter (free download: http://netlimiter.com/). First, we install NetLimiter on the client PC and limit the outgoing traffic for the RDP session (this is the mstsc.exe process). Traffic, which is sent from the client to the server, acts as outgoing traffic.

Step 2
Then we need to simulate the high delay on the server. To do it we can use TMnetsim tool (free download: http://tmurgent.com/Tools.aspx ). We copy it to the server and apply the following settings:

  1. Start TMnetsim.exe.
  2. In the Inbound Port field, enter the free unused port, which will be used as the listener. You can view the list of used ports with the help of  cmd "netstat -p TCP". Let it be, for example, 3390.
  3. In the Outbound IP Address field, enter the server IP (or 127.0.0.1).
  4. In the Outbound Port field, enter 3389 (as we use the RDP connection).
  5. Set the Delay Type – Gausian.
  6. Set the delay 250 with the frequency of the transmitted signal 25.
  7. Click on the Start button.

We will see the following:

Step 3
Now we need to configure the client program on the inbound port.

We should:

  1. Open the registry editor.
  2. Find the following registry section:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
  1. In the Edit menu, select Modify and set the Decimal base.
  2. Enter the new port number (3390 in our example) and click the OK button.
  3. Close the registry editor.

Note. Define the new port number (for example, 192.168.1.10:3390) when connecting to the server with the help of the “Connection to the remote desktop” component.

After the client connects to the server, we can see the following window (this means that WAN connection is established):

P.S. For web connection, you should add the “MsRdpClient.AdvancedSettings2.RDPPort = 3390” line to the С:\WINDOWS\Web\TSWeb\default.htm file after all identical options. It is not necessary to define the port number after the start of default.htm.

As for our product: the installation process is the same, except that the inbound port should be also changed to the server (or to the desktop). Also we should limit the outgoing traffic for the corresponding process with the help of NetLimiter.

We can examine the difference between LAN and WAN networks by starting the session and trying to type, for example, in the text document. When using the WAN network, symbols will appear with some delay. Also we can execute the ping command and examine the delay.

2. Using the WANem virtual machine (free download: http://wanem.sourceforge.net/).

Let’s examine how to customize it.

2.1. Start VM.

2.2. Enter n in the “Do you want to configure all interfaces via DHCP(y/n)” line.

2.3. Define the static IP address, default gateway and network.

2.4. After saving the settings, you are proposed to enter New UNIX password:

2.5. After entering the http://192.168.1.250/WANem/ line in the browser, we can see the following:

2.6. Select Basic Mode.

2.7. In the Delay time field, enter the required delay.

For example:

Delay time (ms): 300

Take into account that this delay is for both sides. This means that you will see ~ 150 ms delay both on the client and the server.

2.8. Enter the following in the command line of the server:

route add 192.168.1.22 mask 255.255.255.255 192.168.1.250 
// 192.168.1.22 – client IP, 192.168.1.250 – IP wan emulator

Command line of the client:

route add 192.168.1.29 mask 255.255.255.255 192.168.1.250
// 192.168.1.29 – server IP.

After this, pinging both sides (server from the client, client from the server) will demonstrate us the ~ 150 ms delay.

It is your right to choose which of the methods of WAN emulation to use. Our team tends to use WANem VM.

Traffic measurement

Let’s examine the program with the help of which we can measure traffic on terminal servers.

We will use the free trial BWMeter program for traffic measuring (free download: http://www.brothersoft.com/bwmeter-24660.html).

This program has two windows for traffic monitoring: the first one displays Internet activity, the second one displays local network activity. It allows examining incoming and outgoing traffic.

BWMeter allows to fully customize the appearance of these windows and define the conditions of their displaying. They can be constantly displayed or displayed only when network activity is too low or too high. The program is installed only on the server and it has flexible settings for traffic monitoring. With its help, we can do the following:

  • Define if it is necessary to monitor receiving and sending data via the Internet from this computer or from all computers connected to the local network;
  • Define the range of IP addresses, ports and protocols for which the monitoring will be (or will not be) performed.

To perform this, we will need to do the following:

  1. Configure the required range of IP addresses.

2. In Filters and Graphs tabs, leave only network activity. In the Activity drop down list, select Upload only (Data that is sent from the source to the destination is called "Upload" and data sent from the destination to the source is called "Download"):

  1. To make it clear, illustrate the network activity with enabled\disabled Acceleration option:

4.Check list

Check list will be applied for traffic and time measuring.

As it was said above, we will use the BWMeter program that is valid only for terminal servers - TS. For the measurement accuracy, there should be no more than 2 connections to the TS: console connection (where we will measure the traffic) and the remote connection (for which we will measure the traffic from the console).

Be attentive, which options should be selected and in which mode your application (or desktop) runs to make the Acceleration option work. In seamlessly mode, application runs in the window, that means that the session starts, in which the application runs. Note that if the application starts on the desktop background, this is a bug). In no seamlessly mode application doesn’t run in the window, that means that it runs as if you started it on the local computer. It depends on the product’s requirements.

After we made sure (for example, with the help of logs) that the Acceleration option is enabled, we can proceed with the comparison of characteristics. We can compare our program (with enabled Acceleration option) with Microsoft RDP (mstsc.exe) or perform comparative evaluation of our program with the enabled\disabled Acceleration option.

Test 1: Sites

Precondition for all "Sites" tests:
1. Open BWMeter application with LAN graph on TS.

Steps :
1. with ACCELERATION

1.1. Start IE application from Client.
1.2. Wait until the session uses very little of bandwidth (see on the graph).
1.3. Open some website, wait until the site will be completely downloaded on the client and then check the max traffic (KB) in the BWMeter.
1.4. Maximize the IE window and then check the max traffic (KB) in the BWMeter.
1.5. Scroll pages in IE and then check the max traffic (KB) in the BWMeter.
1.6. Log off this session.
2. without ACCELERATION: repeat 1.1. - 1.6. steps.
Check: result with Acceleration is better than the result without Acceleration,  i.e. with Acceleration less KB of traffic are used.

 

Priority

Test 1

Status

With Acceleration

Without Acceleration

Network Traffic measuring: Sites

 

 

 

 

Quality Level =

0

 

Total =

8

 

Passed =

0

 

Failed =

0

 

No Run =

8

 

N/A =

0

Basic Web site

http://www.cnn.com

No Run

 

 

Embedded flash

http://www.disney.com

No Run

 

 

Flash

http://www.sierrazoo.com/gonefishing/autoview/index.html

No Run

 

 

High resolution pictures when you click on the thumb nails.

http://www.sierrazoo.com/2009luray/highres/gallery.html

No Run

 

 

Run a video

 

 

 

http://www.youtube.com

No Run

 

 

http://www.clubpenguin.com

No Run

 

 

http://at.lant.is

No Run

 

 

http://gilforstales.com

No Run

 

 

 

Test 2: MS Paint traffic (you can use different types of pictures of different size)

Status

With Acceleration

Without Acceleration

Precondition for "MS Paint":
1. BWMeter application with LAN graph is opened on TS.

Steps :
1. with ACCELERATION :
1.1. Start MS Paint application on Client.
1.2. Wait until the session uses very little of bandwidth (see on the graph).
1.3. Draw some pictures in MS Paint, using paintbrush and fill the background with color. Then check the max traffic (KB) in the BWMeter graph.
1.4. Cut some part of the picture, paste it in a new blank image, move it. Then check the max traffic (KB) in the BWMeter graph.
1.5. Log off this session.
2. without ACCELERATION: repeat 1.1 - 1.5 steps.
Check: result with Acceleration is better than the result without Acceleration, i.e. with Acceleration less KB of traffic are used.

No Run

 

Test 3: MS Word Pad traffic

Status

With Acceleration

Without Acceleration

Precondition for "MS WordPad":

1. BWMeter application with LAN graph is opened on Broker.  

Steps :
1. with ACCELERATION
1.1. Start MS WordPad application from Client.
1.2. Wait until the session uses very little of bandwidth (see on the graph).
1.3. Type some text during 1 minute in WordPad and then check the max traffic (KB) in the BWMeter graph.
1.4. Select the typed text, paste it in the same document for several times to fill the window and make the scroll appear; then check the max traffic (KB) in the BWMeter graph.
1.5. Log off this session.
2. without ACCELERATION: repeat 1.1 - 1.5 steps.
Check: result with Acceleration is better than the result without Acceleration, i.e. with Acceleration less KB of traffic are used.

No Run

 

Test 4: Adobe PDF Reader traffic

Precondition for all "PDF Reader" tests:

1. Adobe PDF Reader is installed on the TS.
2. PDF documents are stored on the TS. 
3. BWMeter application with LAN graph is opened on TS.

Steps :
1. with ACCELERATION
1.1.  Start PDF Reader application from Client.
1.2   Wait until the session uses very little of bandwidth (see on the graph).
1.3   Open PDF document in PDF Reader.
1.4   Maximize the window and then check the max traffic (KB) in the BWMeter graph.
1.5   Scroll the PDF document down and then check the max traffic (KB) in the BWMeter graph.
1.6   Scroll the PDF document up and then check the max traffic (KB) in the BWMeter graph.
1.7   Resize the window and then check the max traffic (KB) in the BWMeter graph.
1.8   Log off this session.
2. without ACCELERATION: repeat 1.1 - 1.8 steps.
Check: result with Acceleration is better than the result without Acceleration, i.e. with Acceleration less KB of traffic are used.

 

Test 4: Adobe PDF Reader traffic

Status

With Acceleration

Without Acceleration

Quality Level =

0

Total =

4

Passed =

0

Failed =

0

No Run =

4

N/A =

0

text only.pdf

No Run

 

 

mixed.pdf

No Run

 

 

graphics only.pdf

No Run

 

 

big.pdf

No Run

 

 

We can perform similar test scripts for time measuring. To do it, you can write a small script that would start the session, open a text file (for example, *.pdf file) and perform some operations with it; after this, it would create the log file to write the time of script execution.

Expected result: result with Acceleration is better than the result without Acceleration, i.e. with Acceleration, it takes less time to open the file.

 

Conclusion

So, Acceleration feature allows us to improve traffic usage and speed while viewing graphic items. And so, if your program includes such functionality, be ready to test it fully armed giving much attention to the speed of viewing and corresponding traffic usage.

Hope that this article will help you.

Subscribe to updates