Windows and Notes 8.5.x Cold-Start performance considerations
For the purpose of this discussion, Cold-Start is considered to be the operating phase where a users workstation or laptop is being powered on and encapsulates Windows boot up and Notes client launch times.
When troubleshooting issues of this nature, it is important to understand the limitations of available hardware and the operating processes of your organization. Help desk teams may hear comments like, "My home computer boots up Windows and launches Notes much faster than my work laptop". In most cases, home machines, especially if owned by gaming fans, will contain faster disks, faster CPU's and faster memory than machines used in the office or on the road. Home computers usually don't log into a Windows Domain and they usually don't require all the "value added" services necessary to function in a corporate environment.
Areas where corporate software services are implemented on a workstation may include :
- Hard Drive Encryption
- VPN / Wireless / Dialer / Location Services
- Software Distribution Services
- Credential Managers / Single Sign-on
- Virus Checking
- Auditing
- User Policies
- Corporate specific printer location managers
- Custom Login Scripts
- Screen share
- In house self assist tools
- and many others...
These extra services consume resources on the machine which not only execute on demand but also initialize in the Cold-Start time frame. Any processing performed in this time frame is going to increase the Cold-Start time.
Before attempting to reconfigure anything on the machine its worth gathering some data so that you can compare the effect of any changes you do make to the configuration. Here is real world example of a typical corporate configured T60 Thinkpad with 250GB Hard drive Windows XP and 3GB RAM.
Test 1: Taking things easy... Allow Windows and ALL services to start up, wait, then launch Lotus Notes
Elapsed Time
mm:ss | Checkpoints during Windows boot up |
00:00 | User presses power button to start machine |
00:10 | Hard Disk Encryption software begins loading |
00:20 | User enters their Disk Password |
01:07 | Windows Flag boot loader screen disappears screen goes black |
01:28 | Windows Login dialog appears (in this test no password required - Startup scripts can begin running) |
02:07 | Network Connections restored |
03:15 | Mouse pointer is available, desktop up and user appears to be logged in. |
04:15 | Windows Explorer has loaded - Windows is ready |
An observation at this point is although Windows is ready, the Thinkpad hard drive light is still blinking rapidly showing elevated disk access whilst 3rd party software is launching in the background. In this test, additional time was given to allow disk IO to fall back to idle before the Lotus Notes Client was launched next :
Elapsed time
mm:ss | Checkpoints during Notes Client Launch |
00:00* | User clicks on Notes Icon |
00:03* | Notes Splash Screen appears |
00:20* | Notes password prompt appears |
01:00* | Notes UI appears and immediately starts running a 3rd party desktop manager tool |
01:35* | Notes Inbox appears, Embedded Sametime is loaded with user logged in, and user able to to start work. |
This first test shows that the total "loading time" from pressing the power on button to begin working inside the Notes client was 4mins 15secs + 1min 35sec = 5min 45sec. However this time does not include the duration the user waited for other boot-up applications to load in the background.
Test 2: Loading Notes as quickly as possible without waiting
Elapsed time
mm:ss | Checkpoints during both Windows + Notes Client launch |
00:00 | User presses power button to start machine |
00:10 | Hard Disk Encryption software begins loading |
00:20 | User enters their Disk Password |
00:53 | Windows Flag boot loader screen disappears screen goes black |
01:02 | Windows Login dialog appears (in this test no password required - Startup scripts can begin running) |
01:43 | Network Connections restored |
02:30 | Mouse pointer is available, desktop up and user appears to be logged in. |
02:30* | User clicks on Notes Icon |
02:33* | Notes Splash Screen appears |
03:38* | Notes Password dialog appeared |
04:15* | Notes UI appears and immediately starts running a 3rd party desktop manager tool |
05:45* | Notes Inbox appears, Embedded Sametime is loaded with user logged in, and user able to to start work. |
In Test 2, the user launches Lotus Notes as soon as they are able to but is completely unaware of 3rd party applications / configuration scripts running in the background. Launching Notes before Windows has entered a quiescent state increases the Notes client load time:
- Notes Client load time in test 1 : 01min 35 seconds
- Notes Client load time in test 2 : 03min 15 seconds
From these figures we can see that the end user will experience longer load times of the Notes client if it is launched along side other applications starting up at the same time. When booting up a workstation there are high demands on the disk system. Performance monitoring tools show disk queue lengths pinned at 15 during the Cold-Start phase as multiple applications all compete for disk I/O.
Interestingly, the total duration of the cold boot is :
- Total Cold boot time in test 1 : 05min 45 seconds (plus a self imposed delay whilst waiting for Windows and disks to enter a dormant phase)
- Total Cold boot time in test 2 : 05min 45 seconds
Whilst the Lotus Notes Client start time is elevated when its launched during the congested boot-up phase, this does not represent a software defect.
A corporate environment can also be a highly automated one, software updates / fixes get pushed out to users invisibly, application helpers or pre-loaders launch in the background at startup in preparation for duty, but the place where most do this is often in the Cold-Start time frame. To reduce the wait time of applications such as Lotus Notes, measures must be put in place to streamline the Cold-Start phase.
Streamlining the Cold-Start phase
The aim here is to reduce the disk and CPU load on the workstation during Cold-Start include without interfering with operating practices or corporate policies:
- Keep the "auto run" startup application list to a minimum - Limit these applications to essential services not "nice to have" services.
- Stagger the start/defer the launch of essential services to avoid congestion.
- Remove any prompts and dialog boxes (those with a single OK Button) which force users to sit in front of their computer whilst its booting up.
- Understand the demands that 3rd party utility software have on disk and CPU. For example, some VPN software products may check for updates every Monday morning regardless of whether the VPN client is being used. Is the VPN software required for EVERY user ? Can it be removed from office based machines ?
- Anti-Virus Scanning Software - Consider adding the ability to allow end users the option of "snoozing" a full system scan to a more convenient time. Attempting to check your e-mail whilst rushing through an airport departure lounge might not be the right time for the system to impose Anti-Virus scanning to the point where the machine is crippled.
- Software distribution mechanics - Consider adding the ability to allow end users the option of "snoozing" a software update or postpone to an idle time frame.
Other common areas to examine
- Power Management Settings - Battery Life Priority vs CPU Performance.
- Hard Drive Fragmentation - Defrag your disks regularly
- Validate that startup isn't being impaired by incorrect shutdown practices
- Temp files / Post Install files. Temporary files add to the list of files which Anti-Virus or audit software must scan. Regular purging of the temporary locations not only release wasted hard drive space but also speed up the performance of file scan products.
Portable computers such as a Thinkpad allow users to set power management features to provide better battery life by turning down the power of the CPU. Battery life is saved, but at a cost of slower CPU performance. In the above tests Cold-Start tests, Power management was switched off so that Priority was given to CPU performance rather than Battery Life.
Hard Drive maintenance (defragmentation) is an often overlooked process which can offer serious speed improvements at not just the Cold-Start phase but in general usage. Users who have experience Cold-Start times of 20+ minutes after running a complete disk defragmentation have seen their Cold-Start times drop by 75%. Although the default platform Defrag may be intrusive, other versions are available that perform pro-active disk defragmentation during machine idle times and when the pc is running its screen saver.
Daily / Weekly trends
Standard troubleshot techniques apply here, but ultimately understanding if the user experiences delays on a specific day, work location or after periods of absence can help the administration teams narrow down the cause. A user who returns from vacation and switches on their machine Monday morning is more likely to experience slower Cold-Start if as a result of their absence they are now "out of date" and forced to download :
Anti-Virus signatures
New software packages
Apply fix packs and hotfixes
or have even trigged timer expired "phone home" applications which can perform an number of additional administration activities.
If these activities run in the Cold-Start window, this will increase contention on disks and CPU.
Lotus Notes Quickies
The Lotus Notes client can be highly customized. End users who have made the following configuration settings have seen a positive effect on startup times.
- De-select the user preferences setting : "On restart, reopen any tabs that were open when I closed the client". This option is found the Windows and Themes preference category.
- Close the Notes right-bar when not in use.
- Optimize the use of Widgets. Widgets that display out of date Notes views will force views to rebuild when the widget is activated or can run non-essential code outside of a user action.
- Disable Sametime Automatically Sign-in to defer Login until Sametime is required.
- Limit the number of open tabs in the Notes client.
- Notes based Desktop Managers / Admin tools can run local agents / make configuration changes or perform activities at startup. - Correctly optimise these actions to minimise execution times, provide adequate user feedback or defer them to a later time.
Lotus Notes checks if it had previously been shutdown correctly. In the cases where this is not true (eg: power failure) Lotus Notes will scan any of the local databases that were open at that time and perform a consistency on them. For large databases or systems with lots of open database tabs this can extend the startup phase substantially. Notes will report this fixup activity in the console log to help administrators understand the reason behind the delay. Once the databases have been consistency checked they are considered "intact" so following a successful clean and proper shutdown, a subsequent restart will perform much faster.
Hard Disk Drives
Recent arrivals of Solid State Hard Drives (SSD's) offer the main characteristic of having NO MOVING PARTS. As a result they are more robust which makes them an ideal choice for mobile machines but also offer enormous increases in performance eliminating the seek and head movement times seen in more traditional mechanical hard drives. Cold start times of around 2 minutes have been recorded compared to 6 minutes in the same machine with the same software configuration.