Daniele Tosatto

Application delivery and virtualization news

Browsing Posts tagged Virtual Desktop

With the recent release of the Hyper-V / Windows 7 / XenDesktop whitepaper I thought it would be a good time to go over just a few points on how you can leverage the scalability reports that have been released by Citrix and other vendors.

Citrix intentionally follows the same process for scalability testing so that the results can be used for comparing hardware and hypervisor platforms. Since it is impractical to create tests that match each customer’s environment, a standard configuration is selected and the performance data published. The choice of the Login VSI medium user workload allows for a consistent, repeatable, and slightly random workload to be run across different configurations to determine performance. Also, by using a readily available third-party tool for the workload, customers can easily reproduce the test results with an unbiased workload.

Sizing a XenDesktop environment should neither be done blindly nor should it rely solely on published scalability results. If you want to size your environment correctly, you must conduct a pilot with actual desktop users and their applications. The pilot results can then be used in combination with published data to determine the expected number of desktops a given hardware platform can support in your environment. Most initial pilots should focus on two key areas: CPU and storage activity. These two areas have a significant impact on a desktop virtualization project and are historically the ones that are undersized in larger environments. Certainly other areas can be monitored such as RAM and network activity, but these areas are not as difficult to size as CPU and storage.

In most cases, scalability results published by any vendor will not meet the requirements of your environment making it impossible to size your farm using the reported numbers. For instance, the Login VSI medium workload which uses Microsoft Office, IE, and Adobe generates about 5 IOPS per user when running in the steady-state loop. What is also true is that in order to prevent any network latency from affecting the response times, IE is using cached web pages for viewing. If a user was actually browsing web pages, both the network and storage activity would increase as the pages are read and cached by the browser. Recent tests have shown that a heavy IE workload can generate as much as 20-30 IOPS per session. Therefore, testing with your anticipated workload is paramount to obtaining realistic sizing data.

With a bit of logic, you can integrate the results from published reports with your pilot results to anticipate how the proposed XenDesktop environment will perform. For instance, the published results from the Citrix whitepaper show a BL460C G6 blade with 64GB RAM is capable of hosting about 75 Windows 7 users on Hyper-V with the Login VSI medium workload. Suppose you run a pilot with a similar hardware configuration but with your user workload and at the end of the pilot determine the optimal number of users per server is 50. Taking both pieces of data into account you can derive that your pilot workload requires approximately 50% more server capacity than the Login VSI medium workload.

Knowing this relationship allows you to leverage the studies published with the Login VSI medium workload. To determine how your workload would perform using the environment in the study, whether it be a different hypervisor or hardware, just adjust the Login VSI sizing results reported by 50% for your environment. Similar conclusions can be drawn regarding CPU usage or storage I/O operations (IOPS) when comparing published reports to pilot results.

Citrix Inc.

The following registry changes are recommended for all deployment scenarios and would almost always be desirable in a Windows 7 hosted VM-based VDI desktop implementation:

Configuration Optimizer Registry Modification (in REG format)
Disable Last Access Timestamp Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] “NtfsDisableLastAccessUpdate”=dword:00000001
Disable Large Send Offload No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNNS\Parameters]
“EnableOffload”=dword:00000000
Disable TCP/IP Offload No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
“DisableTaskOffload”=dword:00000001
Increase Service Startup Timeout No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control] “ServicesPipeTimeout”=dword:0002bf20
Hide Hard Error Messages No [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows] “ErrorMode”=dword:00000002
Disable CIFS Change Notifications No [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
“NoRemoteRecursiveEvents”=dword:00000001
Disable Logon Screensaver No [HKEY_USERS\.DEFAULT\Control Panel\Desktop]
“ScreenSaveActive”=”0″

Note: The Optimizer column indicates whether this registry change is included in the XenConvert Optimizer tool that is installed with the Provisioning Services target device software.

Standard Mode Recommended Configurations

The next set of registry changes are recommended for images deployed using standard mode vDisk images with Citrix Provisioning services. Standard mode images are unique in that they are restored to the original state at each reboot, deleting any newly written or modified data. In this scenario, certain processes are no longer efficient. These configurations may also apply when deploying persistent images and in many cases should be implemented in addition to the changes recommended in the preceding section.

Configuration Optimizer Registry Modification (in REG format)
Disable Clear Page File at Shutdown Yes HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
“ClearPageFileAtShutdown”=dword:00000000
Disable Offline Files Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache]
“Enabled”=dword:00000000
Disable Background Defragmentation Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction] “Enable”=”N”
Disable Background Layout Service Yes [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout]
“EnableAutoLayout”=dword:00000000
Disable Bug Check Memory Dump Yes [HKLM\SYSTEM\CurrentControlSet\Control\CrashControl]
“CrashDumpEnabled”=dword:00000000
“LogEvent”=dword:00000000″
SendAlert”=dword:00000000
Disable System Restore Yes [Software\Policies\Microsoft\Windows NT\SystemRestore] “DisableSR”=dword:00000001
Disable Hibernation Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power] “Heuristics”=hex:05,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,3f,42,0f,00
Disable Memory Dumps Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] “CrashDumpEnabled”=dword:00000000 “LogEvent”=dword:00000000 “SendAlert”=dword:00000000
Disable Mach. Acct. Password Changes Yes [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters]
“DisablePasswordChange”=dword:00000001
Redirect Event Logs No Set appropriate path based on environment.HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application]
“File”=”D:\EventLogs\Application.evtx”

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Security]
“File”=”D:\EventLogs\Security.evtx”

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\System]
“File”=”D:\EventLogs\System.evtx”

Reduce Event Log Size to 64K Yes HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application]
“MaxSize”=dword:00010000
[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Security]
“MaxSize”=dword:00010000

[HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\System]
“MaxSize”=dword:00010000

Optional Configurations

This last set of machine-based registry changes is optional regardless of whether the image is deployed as a persistent or standard image. In many cases, the following configurations should be implemented; however, these configurations should be analyzed for suitability to each unique environment.

Configuration Justification Registry Modification (in REG format)
Disable Move to Recycle Bin Although the recycle bin will be deleted on subsequent reboots, disabling this service altogether might pose a risk in that users will not be able to recover files during their session. Although this setting is part of the optimizer, it might be advantageous to not disable the Recycle Bin. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BitBucket]
“UseGlobalSettings”=dword:00000001
“NukeOnDelete”=dword:00000001

Note: These are only recommendations. You should implement these at your own risk

Remember, you can stay current with this and other Windows 7 virtual desktop recommendations via the Virtualize My Desktop – Windows 7 site.

Microsoft has introduced a new MMC snap-in tool called Remote Desktop Connection Manager in Windows Server 2008 R2 for managing the in-box VDI solution from Microsoft. In this blog, I will explain how you can specify various RDP settings for the virtual desktops published using this tool.

You can specify a different set of RDP settings for each type of virtual desktops (Personal and Pooled) published by this tool.

To modify RDP settings for “Personal Virtual Desktops,” expand the “RD Virtualization Host Servers” node, select “Personal Virtual desktops” and then select “Properties” from actions.

image

To modify the RDP settings for pooled virtual desktops, select the pool node under “RD Virtualization Host Servers” node and then select “Properties” from actions. This allows you to change the RDP property for the pool that you have selected. If you have more than one pool of virtual desktops, you will have to change RDP settings for each pool by going to their respective nodes.

clip_image002

For most common RDP settings there is a “Common RDP Settings” property tab with dedicated UI controls for each of the setting. The “Custom RDP Settings” tab allows you to specify advanced RDP settings which are not modified very frequently. Given below is an example of how Custom RDP Settings can be used to enable optimal audio/visual experience for virtual desktop users.

Enabling optimal user experience

By default, the virtual desktops published through this tool are tuned for performance. For example, with default RDP settings, users will not be able to see the wallpaper on their virtual desktop. To enable the optimal audio/visual user experience, you can add following RDP settings under the “Custom RDP settings” tab:

RDP Property Description
audiocapturemode:i:1 Enables Audio recording redirection
connection type:i:2 Sets connection type to LAN
disable wallpaper:i:0 Allows wallpaper
allow desktop composition:i:1 Enables Aero Glass
disable themes:i:0 Enables themes
audiomode:i:0 Sets audio playback mode to “Play on this computer”

clip_image001

With the above settings, RDP connections to virtual machines require higher network bandwidth compared to default settings. Therefore the admin should enable these settings taking into account the available network bandwidth and the desired user experience.

For a complete list of RDP settings for Remote Desktop Services, see the Remote Desktop Services Technical Reference (http://go.microsoft.com/fwlink/?LinkId=139899).