| How to test virtual desktop acceleration in the LAN and WAN configurations |
|
|
|
| Friday, 04 June 2010 16:47 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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. Written by: Plan
1. Virtualization of applications and desktopsThe 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:
The following operating systems with different service packs can serve as desktops:
Virtualization is used in the following cases:
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 environmentLocal Area Network (LAN)Features of the local network are:
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
We will see the following:
Step 3 We should:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
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 Command line of the client: route add 192.168.1.29 mask 255.255.255.255 192.168.1.250 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 measurementLet’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:
To perform this, we will need to do the following:
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"):
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.
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. ConclusionSo, 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. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||




















