Desktop Operation System optimizations for XenDesktop and Provisioning Services: XP, Vista, Windows 7
First thanks to Paul Wilson for starting this process.
The outline of the process that I am following:
Process
The sum of many small improvements will make the environment noticeably faster (hopefully). Machines need to boot, load OS, load default profile, start Desktop Service, then this shows the system as registered (idle) in the DDC console.
Speed up the boot process.
Make the system load faster. (system, .default profile)
Make the User profile load faster. (users' profiles)
Improve system response.
Overall system speed.
Analyze system response, tools to bench and view performance.
XP
Speed up the boot process.
BIOS / VM Settings
PVS: Network is first boot option, unless BDM is used (then CDROM)
If private XenServer based storage is used make sure the VM is booting from the local disk first
Lower OS timeout values in boot.ini (or through msconfig)
1 -3 seconds can still allow access to change options using this setting.
In physical having access to change these options is more relevant. In virtual or provisioned, we have access to mount these vDisks and can modify boot.ini directly if necessary. We also have the flexibility of snapshotting.
Disable GUI portions of boot.
Change the boot switch to /noguiboot, this can be used in conjunction with /fastdetect
Disable unused hardware (drivers) (possible list)
Firewire
Modem
MIDI
Multimedia: Game Controllers
PCMCIA
Remove Fonts
Create a FontsRemoved flder inside of c:\windows
Drag (move) fronts from the fonts folder to remove
Leave commonly used fonts:
Verdana
Arial
Trebuchet
Tahoma
Times New Roman
MS Sans Serif
Disable unused services
Here is a list I am testing now (disable these)
Background Intelligent Transfer Service
Distributed Link Tracking Client
Error Reporting Service
Fast User Switching
Help and Support
Indexing Service
Messenger
Machine Debug Manager
Network Location Awareness
Portable Media Serial Number Service
Remote Registry (might impact Group Policy and Troubleshooting, might take this off the list)
SSDP Discovery Service
Windows Image Acquisition
Wireless Zero Configuration
WebClient
Task Scheduler
Disk Defragmentation
Remove / se pagefile to none before defragmenting disk.
Mount disk on PVS or mount XS disk on another OS to defrag disk when files are not locked.
Create new bootable disk and copy files from your optimized disk to freshly formatted disk. (PVS disk creation sort of does this but I deed to verify the comparative defrag.)
Boot file defragmentation. Apparently Windows will do this every three days. It can't be forced but you can force idle tasks. Than can do this ahead of schedule. I think.
Rundll32.exe advapi32.dll,ProcessIdleTasks
Possibly diskeeper or O@O defrag?
Make the system load faster. (system, .default profile)
Turn off sounds, logon music, sound profiles? (WAN performance improvements)
Delete system sound wav files.
NtfsDisableLastAccessUpdate =1
NtfsDisable8dot3NameCreation = 1
Make the User profile load faster. (users' profiles)
Improve system response.
Disable menu delay
MenuShowDelay =?
I like 0 but I have been wondering if in LAN connections som very small value like 50 or 100 to prevent the menus opening when sliding across them on the way to another menu.
Adjust for Best performance (where is this key does it exist in Policy templates already?)
Analyze system response, tools to bench and view performance.
Analyse system response
Bootvis
Perfmon
Benchmarking
Sandra
CPU Arithmetic Benchmark
CPU Multimedia
Research other methods and tools
Vista
Speed up the boot process.
BIOS / VM Settings
PVS: Network is first boot option, unless BDM is used (then CDROM)
If private XenServer based storage is used make sure the VM is booting from the local disk first
Lower OS timeout values in bcdedit (or through msconfig) (there is no more boot.ini and if there is it is ignored.)
1 -3 seconds can still allow access to change options using this setting.
In physical having access to change these options is more relevant. In virtual or provisioned, we have access to mount these vDisks and can modify boot.ini directly if necessary. We also have the flexibility of snapshotting.
Bcdedit /enum all
Bcdedit /default (uid)
Disable GUI portions of boot.
Change the boot switch to /noguiboot, this can be used in conjunction with /fastdetect
This is done through msconfig as checkbox
Disable unused hardware (drivers) (possible list)
Firewire
Modem
MIDI
Multimedia: Game Controllers
PCMCIA
Remove Fonts
Create a FontsRemoved flder inside of c:\windows
Drag (move) fronts from the fonts folder to remove
Leave commonly used fonts:
Verdana
Arial
Trebuchet
Tahoma
Times New Roman
MS Sans Serif
Disable unused services
Here is a list I am testing now (disable these)
Application Experience
Application Information
Background Intelligent Transfer Service
Base Filtering Engine
Bluetooth
Desktop Windows Manager Session Manger
Distributed Link Tracking Client
Diagnostic Policy
Diagnostic System Host
EAP Host
Function Discover Provider Host
IKE and Auth IP IPSec Keying Modules
IP Helper
MultiMedia Class
Network Connections
Network List
Network Location Awareness
Offline Files
Protable Device Enumnerator
Routing and Remote access
Security Center
SSDP Discovery
Superfetch
Tablet PC input
Themes
Windows Defender
Windows Search
Windows Update
WinHTTP Web Proxy Autodiscovery
Error Reporting Service
Fast User Switching
Help and Support
Indexing Service
Messenger
Machine Debug Manager
Network Location Awareness
Portable Media Serial Number Service
Remote Registry (might impact Group Policy and Troubleshooting, might take this off the list)
SSDP Discovery Service
Windows Image Acquisition
Wireless Zero Configuration
WebClient
Task Scheduler
Disk Defragmentation
Remove / se pagefile to none before defragmenting disk.
Mount disk on PVS or mount XS disk on another OS to defrag disk when files are not locked.
Create new bootable disk and copy files from your optimized disk to freshly formatted disk. (PVS disk creation sort of does this but I deed to verify the comparative defrag.)
Boot file defragmentation. Apparently Windows will do this every three days. It can't be forced but you can force idle tasks. Than can do this ahead of schedule. I think.
Rundll32.exe advapi32.dll,ProcessIdleTasks
Possibly diskeeper or O@O defrag?
Make the system load faster. (system, .default profile)
Turn off sounds, logon music, sound profiles? (WAN performance improvements)
Delete system sound wav files.
NtfsDisableLastAccessUpdate =1
NtfsDisable8dot3NameCreation = 1
Make the User profile load faster. (users' profiles)
Improve system response.
Disable menu delay
MenuShowDelay =?
I like 0 but I have been wondering if in LAN connections som very small value like 50 or 100 to prevent the menus opening when sliding across them on the way to another menu.
Adjust for Best performance (where is this key does it exist in Policy templates already?)
Disable Windows Vista Security Alerts
Security Center > Don't Notify me and don't display
Analyze system response, tools to bench and view performance.
Analyse system response
Reliability Monitor
Perfmon
Windows System Performance Rating
Benchmarking
PCMark05
Research other methods and tools
Windows 7 (most that I have tried duplicate Vista tweaks)
Speed up the boot process.
BIOS / VM Settings
PVS: Network is first boot option, unless BDM is used (then CDROM)
If private XenServer based storage is used make sure the VM is booting from the local disk first
Lower OS timeout values in bcdedit (or through msconfig) (there is no more boot.ini and if there is it is ignored.)
1 -3 seconds can still allow access to change options using this setting.
In physical having access to change these options is more relevant. In virtual or provisioned, we have access to mount these vDisks and can modify boot.ini directly if necessary. We also have the flexibility of snapshotting.
Bcdedit /enum all
Bcdedit /default (uid)
Disable GUI portions of boot.
Change the boot switch to /noguiboot, this can be used in conjunction with /fastdetect
This is done through msconfig as checkbox
Disable unused hardware (drivers) (possible list)
Firewire
Modem
MIDI
Multimedia: Game Controllers
PCMCIA
Remove Fonts
Create a FontsRemoved flder inside of c:\windows
Drag (move) fronts from the fonts folder to remove
Leave commonly used fonts:
Verdana
Arial
Trebuchet
Tahoma
Times New Roman
MS Sans Serif
Disable unused services
Here is a list I am testing now (disable these)
Application Experience
Application Information
Background Intelligent Transfer Service
Base Filtering Engine
Bluetooth
Desktop Windows Manager Session Manger
Distributed Link Tracking Client
Diagnostic Policy
Diagnostic System Host
EAP Host
Function Discover Provider Host
IKE and Auth IP IPSec Keying Modules
IP Helper
MultiMedia Class
Network Connections
Network List
Network Location Awareness
Offline Files
Protable Device Enumnerator
Routing and Remote access
Security Center
SSDP Discovery
Superfetch
Tablet PC input
Themes
Windows Defender
Windows Search
Windows Update
WinHTTP Web Proxy Autodiscovery
Error Reporting Service
Fast User Switching
Help and Support
Indexing Service
Messenger
Machine Debug Manager
Network Location Awareness
Portable Media Serial Number Service
Remote Registry (might impact Group Policy and Troubleshooting, might take this off the list)
SSDP Discovery Service
Windows Image Acquisition
Wireless Zero Configuration
WebClient
Task Scheduler
Disk Defragmentation
Remove / se pagefile to none before defragmenting disk.
Mount disk on PVS or mount XS disk on another OS to defrag disk when files are not locked.
Create new bootable disk and copy files from your optimized disk to freshly formatted disk. (PVS disk creation sort of does this but I deed to verify the comparative defrag.)
Boot file defragmentation. Apparently Windows will do this every three days. It can't be forced but you can force idle tasks. Than can do this ahead of schedule. I think.
Rundll32.exe advapi32.dll,ProcessIdleTasks
Possibly diskeeper or O@O defrag?
Make the system load faster. (system, .default profile)
Turn off sounds, logon music, sound profiles? (WAN performance improvements)
Delete system sound wav files.
NtfsDisableLastAccessUpdate =1
NtfsDisable8dot3NameCreation = 1
Make the User profile load faster. (users' profiles)
Improve system response.
Disable menu delay
MenuShowDelay =?
I like 0 but I have been wondering if in LAN connections som very small value like 50 or 100 to prevent the menus opening when sliding across them on the way to another menu.
Adjust for Best performance (where is this key does it exist in Policy templates already?)
Disable Windows Vista Security Alerts
Security Center > Don't Notify me and don't display