Authors: Rahul Verma, Chetan Giridhar
“Man! It’s taking ages to boot-up!”
“Why does it take so long to boot-up, that wasn’t the case when I bought it!”
“Has it really slowed down, or I feel so?”
“Should I remove the XYZ tool from start-up to improve boot-up time? I would miss it if I have to.”
These and a bunch of other questions pop-up when it comes to quantitively measuring the boot-up time. There are situations, especially in the professional testing world, where saying “I feel it is slower” wouldn’t suffice. First challenge is to measure boot time with a tool, the subsequent challenge is being able to develop automation around it so that multiple iteration data is taken for analysis.
Keeping a low boot time is imperative and a product development team wouldn’t want its application to be responsible for slowing down a desktop bootup time. One of the critical performance tests is measuring the impact of your application on the bootup time of the user computer.
The measurement of bootup time helps to:
check health of your computer/laptop in terms of booting time. This would be especially of use after you have installed a new application.
compare the bootup time with your product versus the competitor product
compare the bootup time with a product by choosing certain options that add to boot time activities (e.g. certain application would give an option to be started at boot time)
set up a baseline via a given build and comparing against it for subsequent builds
BootRacer (by Greatis) is an easy to use and free tool that helps in calculating the system bootup times. Just start the test with a button click and get the rating of your system.
BootRacer tool helps the user in getting information on
Boot Time to logon event (mostly impacted by kernel drivers, windows exes and admin mode services)
Total Boot Time to Desktop (mostly impacted by startup programs/services (logon secific))
Best Time of the system to the Desktop when compared with earlier measurements.
Difference of the current measurement of the time to desktop to the best boot time to desktop measured by the tool.
‘Last Shutdown’ time of the computer on which the test is run.
And, Boot Speed Rating as ‘Good’ or ‘Excellent.
The measurements that BootRacer makes can be viewed in the following ways:
‘BootRacer’ event log under Windows Computer Management.
On an interface as a pop-up, once BootRacer completes its measurements.
As a balloon near the system clock on the desktop of the user.
All the above measurements and placement of logs can be configured by the user based on the requirements using the GUI interface provided by the tool.
This article discusses how you can use BootRacer tool for configuring your tests and getting the test results.
bootracer uses the following crtierion for boot time ratings:
Best logon time: 12-15 seconds
Best Boot to Desktop Time: < 1 minute
If boot to desktop time > 3 minutes, needs serious action
If the rating you get is other than good or excellent, you might want to do a follow-up analysis on the exact cause of the problem and/or deleting programs from start-up, changing some services to manual mode etc.
As we can not control the benchmarks set by the tool, so we would have to keep in mind that what’s rated good by the tool could be extremely bad or excellent for your context.
|Binary Size||~1 MB (800 KB compressed)|
|HDD/Memory||3 MB disk space / (max.) 10 MB as per our experience|
|Supported OSs||Windows XP/ Windows 2003/ Windows Vista/2008 and Windows7|
|Architectures||Supports both 32 bit and 64 bit systems|
|Supported Locale||English, Russian, French (only 2.3 onwards) versions available|
|Application Type||Installed as a service|
Specifications can be viewed here at greatis website
BootRacer installs on the computer as a service by the name “Boot Racer Service”. It measures the bootup times to logon and bootup times to desktop of the system under test. It detects logon time even if the user system has auto logon to the windows enabled. Once the tool is installed, clicking on the “RaceIt” and then “Start” button will start the tests for you. All the measurements a user needs from the test can be easily configured through the tool interface and easily viewed.
If the user has to take multiple measurements, Bootracer does not provide for this. User would have to manually boot for ‘N’ times when ‘N’ measurements are required or considered essential for reaching statistically equivalent data for analysis.
Download BootRacer from:
Double-click and run the binary, BootRacer gets installed as a service on your computer and the welcome screen pops-up.
Once installed, following screen should appear:
To configure the BootRacer, user has different options under ‘Race it’ and ‘Advanced’ on the main screen.
Every Boot: This will activate BootRacer every time your system gets restarted.
Only Once: Provides you with an option of running the test only once.
Yes! Show me!: This will pop-up the bootracer screen every time the user system is restarted
No. Race hiddenly in the background: This setting will make BootRacer run in the background and there would be no pop-up after system restart. This method logs the BootRacer measurements without any pop-up screen.
Display scores on the screen: This setting will enable the user running the tests to the see the measurement details on the BootRacer screen.
Auto close results from screen after 30 seconds: If this option is enabled, user gets to see the measurements on the BootRacer screen but also the results are available for viewing for only 30 seconds. After 30 seconds the window would get closed and the result logs can only be seen on the ‘BootRacer’ windows event log.
Display scores in the balloon near the clock: In this case, the measurements are available on a balloon placed near the clock on the user system.
Auto close balloon after 15 seconds: Similar to ‘Display scores in the balloon near the clock’ option. Exception being, that the balloon vanishes in 15 seconds.
This setting allows you to choose between the statics you need for your analysis.
Write boot time to the Windows event log: This options when checked, logs the boot time to the Windows event log.
Write last shutdown time to the Windows event log: This option facilitates logging of the last shutdown time to ‘BootRacer’ windows event log.
Write difference with the best boot time: This setting, when enabled, logs the best boot time till that test and the difference between the best boot time and the boot time for that test.
Display Last Results
You can see the measurements made by BootRacer by clicking on this option under Advanced Tab. A quick reference to last results always helps.
Show history report
Clicking on this option will take you to bootracer_history.txt file where all the measurements the tool has taken are listed with the latest measurement mentioned at the bottom of the test.
Set Sensitivity Level
You can set the level of sensitivity of the system if you find from your tests that the racing is not finishing at all on your system. Sensitivity level can be either of these:
Medium System Load
High System Loaded
Custom Setting (you can detect the sensitivity level of your system by clicking on the detect button and mention this configuration under Custom Setting option)
Using this option you could browse to the HTML Help Manual provided by the tool.
Clicking on this option will take you to Greatis support website. You could log a ticket by describing your problem.
You could configure the tool for whatever language you want to use it in. currently, BootRacer is available in English and Russian locale. Localization work is done for other locales. For more information on this, please browse to BootRacer website at: http://www.greatis.com/bootracer/translate.htm
This option gives user the release version information of the BootRacer tool.
Of course, this option allows you to quit the BootRacer application.
Based on the configuration done by the user, BootRacer maintains a bootracer.ini file. Contents of the file below:
[Settings] BootOnce=0 iHideWindow=0 ResMainWindow=1 AutoCloseMainWindow=0 ShowBalloon=1 AutoCloseBalloon=0 PlaySound=0 WriteBootTime=1 WriteLastShut=1 BestBootTime=1 WriteLogonTime=1 SensLevel=1 CustomLevel=94 [Run] AlreadyRunOnce=0 [Phase2] ShutTime=04C6AF8A6AE7EA1733638922969B411D [Results] LastRaceDateTime=40310.3111771181 LastLogonTime=45000 LastDesktopTime=131421 MyBestBootTime=101015
You can run the required tests with BootRacer tool as below
Launch BootRacer tool by browsing to Windows → Start→ All Programs → BootRacer.
Make the configurations you need by clicking on ‘Race it’ and ‘Advanced’ options on the interface.
Start the test by clicking on Race it → Race Setup → Start button.
The tool would prompt you to restart the computer, acknowledging the pop-up with ‘Yes’ response would start the tests.
Once the computer restarts, racing begins and the tool starts calculating the bootup times. Attached is a snapshot depicting the same.
Results of the tests can be viewed in the windows event log or on an interface or on the balloon next to the system watch.
Event log showing the last shutdown time
Event Type: Information Event Source: BootRacer Event Category: None Event ID: 6501 Date: 4/24/2010 Time: 7:04:15 PM User: N/A Computer: TESTCOMPUTER3 Description: Last shutdown: 4/23/2010 6:33:43 PM
Event log for the first test run
Event Type: Information Event Source: BootRacer Event Category: None Event ID: 6503 Date: 4/23/2010 Time: 2:47:13 PM User: N/A Computer: TESTCOMPUTER3 Description: BootRacer (c) Copyright 2008-2010 Greatis Software Freeware for non-commercial use. Boot Time to Logon Event: 00:00:36 (36 seconds) Total Boot Time to Desktop:00:01:41 (101 seconds). Finished at: 2:47:13 PM Best Time: 00:01:41 (101 seconds)
Event log showing the difference of boot time to desktop for current run and best boot time to desktop
Event Type: Information Event Source: BootRacer Event Category: None Event ID: 6503 Date: 4/24/2010 Time: 7:06:01 PM User: N/A Computer: TESTCOMPUTER3 Description: BootRacer (c) Copyright 2008-2010 Greatis Software Freeware for non-commercial use. Boot Time to Logon Event: 00:00:41 (41 seconds) Total Boot Time to Desktop:00:02:17 (137 seconds). Finished at: 7:06:01 PM Slower than best boot time: 00:00:36 (36 seconds)
An example snapshot of the interface view where all the measurements requested by the user are manifested.
The above snapshot displays the results on an interface.
Similarly, results can also be viewed on the balloon on the desktop near the system clock. Please see the snapshot below as an example.
Once the measurements from the BootRacer are obtained, they need to be analyzed.
Let’s consider a case study where we measure boot times of user system with and without product installation, for 5 iterations.
|Measurement||Iteration 1||Iteration 2||Iteration 3||Iteration 4||Iteration 5|
|Boot Time to Logon Event (secs)||38||41||40||38||40|
|Total Boot Time to Desktop (secs)||101||137||123||130||135|
|Best Time: 101 seconds||Average Boot Time to Logon: 39.4 seconds||Average Boot Time to Desktop: 125.2 seconds|
|Measurement||Iteration 1||Iteration 2||Iteration 3||Iteration 4||Iteration 5|
|Boot Time to Logon Event (secs)||41||44||43||41||43|
|Total Boot Time to Desktop (secs)||105||141||127||134||139|
|Best Time: 105 seconds||Average Boot Time to Logon: 42.4 seconds||Average Boot Time to Desktop: 129.2 seconds|
Comparing the Boot Time to Logon, Boot Time to Desktop and Best Boot Time, we could find in seconds or in percentage, the impact of the product installed on the Boot times of the user computer.
In this case, Average Boot Time to Logon has increased from 39.4 seconds to 42.4 seconds which is 3 seconds more or 7.6% higher. Hence we can easily quantify the impact of the software installed on boot times of user system!
Similarly, the following exercise can be done on a competitor product for benchmarking or on the different builds of your product for noting performance improvements.
You could easily automate running of tests for N iterations. A simple AutoIT script can do the trick.
WinWaitActive("BootRacer") ControlClick("BootRacer", "Exit",65888) shutdown(2)
Whenever BootRacer is done with taking the measurements, the AutoIt script would run and Click on ‘Exit’ button on the tool UI and will restart the system which inturn will trigger BootRacer to go for the next iterations. You could keep the script in the ‘startup’ folder or add an entry in msconfig→startup with path of the script.
Iterations could be tracked by having a file that persists over reboots.
Here are a few limitations that we found:
BootRacer provides with option of running the test ‘Only Once’ or after ‘Every System Reboot’. It fails to provide an option of restarting your system “N” number of times depending on the times user wants to run the test.
Tool does not provide for setting up custom benchmarks for saying whether the boot up speed rating was good or bad.
Tool does not provide for user defined log files or one log file per reboot, which would increase the parsing effort.
BootRacer tool is also available for business use.
As the greatis website says, BootRacer detects the slow computers. After that Bootlog XP discovers the source of the slow boot.
You might would want to try out the commercially available binary! You could find more information on this here