Tag Archives: RDSH

Windows Server 2016 Optimizations for Citrix XenApp


When it comes to operating system optimization, I have two sides battling with each other. Although optimizing does improve single server scalability, I believe the more you mess with the OS the greater your chances are that you will break something.

Default Apps

Unlike Windows 10, which had numerous default apps that increased user logon time, Windows Server 2016 is free from such additions.

Services

Many of the services we disabled in Windows 10 are already configured as manual startup in Windows 2016.  Looking deeper, it would appear that many of these services are either started based on a request by an application or based on a scheduled task.If a manual startup service is disabled, then any application or system component that tries to interact with the service will fail.  This will result in application/system issues, support calls and long troubleshooting times.Based on that , the only service that you think about disabling is:

Service Name

Default State

Default Status

Hosted Apps Workloads

Hosted Desktop Workloads

Themes

Automatic

Running

Disable

Enable – better user experience

Disable – better server density

Scheduled Tasks

Scheduled tasks will sporadically impact density as they only run when a trigger is tripped. When determining what to disable, we need to look at the value the task has in a non-persistent environment.  This assumption is based on the XenApp Best Practice of server consistency.

Scheduled Tasks – Applications

Tasks

Description

Application Experience \ Microsoft Compatibility Appraiser

Helps resolve application compatibility challenges.

Application Experience \ StartupTask

Determines if there are too many startup entries and then notifies
the user

 

Scheduled Tasks – Microsoft Customer Experience Program

Tasks

Description

AutoCHK \ Proxy

This task collects and uploads autochk SQM data if opted-in to the
Microsoft Customer Experience Improvement Program.

Customer Experience Improvement Program \Consolidator

If the user has consented to participate in the Windows Customer
Experience Improvement Program, this job collects and sends usage data to
Microsoft.

Customer Experience Improvement Program \KernelCeipTask

The Kernel CEIP (Customer Experience Improvement Program) task
collects additional information about the system and sends this data to
Microsoft. If the user has not consented to participate in Windows CEIP, this
task does nothing.

Customer Experience Improvement Program \UsbCeip

The USB CEIP (Customer Experience Improvement Program) task collects
Universal Serial Bus related statistics and information about your machine
and sends to the Windows Device Connectivity engineering group at Microsoft.
The information received is used to help improve the reliability, stability,
and overall functionality of USB in Windows. If the user has not consented to
participate in Windows CEIP, this task does not do anything.

 

Scheduled Tasks – Safety

Tasks

Description

Windows Defender \ Windows Defender Cache Maintenance

Can be disabled in case an alternative virus and malware protection
has been implemented.

Windows Defender \ Windows Defender Cleanup

Can be disabled in case an alternative virus and malware protection
has been implemented.

Windows Defender \ Windows Defender Scheduled Scan

Can be disabled in case an alternative virus and malware protection
has been implemented.

Windows Defender \ Windows Defender Verification

Can be disabled in case an alternative virus and malware protection
has been implemented.

Windows Filtering Platform \BfeOnServiceStartTypeChange

This task adjusts the start type for firewall-triggered services when
the start type of the Base Filtering Engine (BFE) is disabled.

 

Scheduled Tasks – Maintenance

Tasks

Description

CHKDSK \ Proactive Scan

NTFS Volume Health Scan

Diagnosis \ Scheduled

The Windows Scheduled Maintenance Task performs periodic maintenance
of the computer system by fixing problems automatically or reporting them
through the Action Center.

DiskDiagnostic \ Microsoft-Windows-DiskDiagnosticDataCollector

The Windows Disk Diagnostic reports general disk and system
information to Microsoft for users participating in the Customer Experience
Program.

Maintenance \ WinSAT

Measures a system’s performance and capabilities

Power Efficiency Diagnostics \ AnalyzeSystem

This task analyzes the system looking for conditions that may cause
high energy use.

RecoveryEnvironment \ VerifyWinRE

Validates the Windows Recovery Environment.

Registry \ RegIdleBackup

Registry Idle Backup Task

Scheduled Tasks – General

Tasks

Description

Mobile Broadband Accounts / MNO Metadata Parser

Parses information related to mobile broadband users

Power Efficiency Diagnostics \ AnalyzeSystem

This task analyzes the system looking for conditions that may cause
high energy use.

RAS / MobilityManager

Provides support for the switching of mobility enabled VPN connections
if their underlying interface goes down.

Shell / IndexerAutomaticMaintenance

Maintains the search index

WDI \ ResolutionHost

The Windows Diagnostic Infrastructure Resolution host enables
interactive resolutions for system problems detected by the Diagnostic Policy
Service. It is triggered when necessary by the Diagnostic Policy Service in
the appropriate user session. If the Diagnostic Policy Service is not
running, the task will not run

User Interface

Many of the user interface optimizations have been used on Windows Server 2000 and beyond, consisting of good practices in order to hide administrative items from the user and to have more efficient overall usage by disabling a few user interface capabilities.

Optimization

Configuration

Disable default system Screensaver

HKEY_USERS\.DEFAULT\ControlPanel\Desktop

“ScreenSaveActive”=dword: 00000000

Hide Hard Error Messages

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Windows]

“ErrorMode”=dword:00000002

Settings “Visual Effects to Custom”

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]

“VisualFXSetting”=dword:00000003

Disable “Show translucent selection rectangle”

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

“ListviewAlphaSelect”=dword:00000000

Disable “Show shadows under windows”

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

“ListviewShadow”=dword:00000000

Disable “Animate windows when minimizing and maximizing”

[HKEY_CURRENT_USER \ControlPanel\Desktop\WindowMetrics]

“MinAnimate”=”0”

Disable “Animations in the taskbar”

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

“TaskbarAnimations”=dword:00000000

Disable “Enable Peek”

[HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM]

“EnableAeroPeek”=dword:00000000

Disable “Save Taskbar Thumbnail Previews”

[HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM]

“AlwaysHibernateThumbnails”=dword:00000000

Disable “Smooth edges of screen fonts”

[HKEY_CURRENT_USER \Control Panel\Desktop]

“FontSmoothing”=”0”

Disable the rest of the visual effects

[HKEY_CURRENT_USER \Control Panel\Desktop\]

“UserPreferencesMask”=RegBin: “90,12,03,80,10,00,00,00”

Disable cursor blink rate

[HKEY_CURRENT_USER \Control Panel\Desktop]

“CursorBlinkRate”=”-1″

Disable Internet Explorer First Run

Wizard

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\InternetExplorer\Main]

“DisableFirstRunCustomize”=dword:00000001

Reduce menu show delay

[HKEY_CURRENT_USER\ControlPanel\Desktop]

MenuShowDelay”, “0”

System

The final optimizations are focused on system-level settings, allowing organizations to get the most value of their systems.

System – BIOS

Optimization

Configuration

Max Performance

Verify BIOS is set for maximum performance and not low power.

System – Commands

Optimization

Configuration

Disable hibernate

Powercfg -h off

 

System – Registry updates

Optimization

Configuration

Disable NTFS Last Access Timestamps

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]

“NtfsDisableLastAccessUpdate”=dword:00000001

Disable Memory Dump Creation

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl]

“CrashDumpEnabled”=dword:00000000

“LogEvent”=dword:00000000

“SendAlert”=dword:00000000

Increase Disk I/O Timeout to 200

Seconds

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk]

“TimeOutValue”=dword:000000C8

 

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.6 VDI Handbook
XenApp Best Practices
XenApp Video

Advertisements