How to Reduce Boot Times on Critical Systems
In our ongoing discussion of process prioritization, I thought it might be interesting to discuss Longhorn’s “Delayed Start” service type. Many of you may already know about this capability. It reminds me of an old Audi 200 I used to own, which needed to idle for a couple of minutes before being driven. (Or me in the morning after a night involving more than two refreshing beverages.) It works like this: Server 2008’s service control manager deprioritizes delayed-start services to the lowest possible value, so that your server can boot faster. (An example of a delayed-start service is Windows Update. No need to delay a boot sequence for that!) The idea is to get the most important services loaded, give you your desktop, and then in the background, load non-critical services. We don’t necessarily care too much about how fast workstations boot – most folks just boot them up once in the morning while slapping themselves awake – but servers that provide high-required-uptime capabilities on the network are another matter. The fun thing here is that you have some control over this. The Services administrative tool lets you change the startup type of a service, so you can experiment with delaying services that you think might be, well, delayable. (Watch out for service dependencies, however; you don’t want to delay the start of a service that another critical service depends on.) If you find a change that works well for you and reduces your server boot times, you can push it out to other machines as a Registry edit. (A DWORD value named DelayedAutoStart in the appropriate service’s key in the current control set will be the value to push; you can run REGMON while making the change in the Services console to get the exact path, then push out the change with Group Policy or a startup script.)




