Measuring Boot Time with BootRacer

Authors: Rahul Verma, Chetan Giridhar

Introduction

“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 Overview

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

  1. Boot Time to logon event (mostly impacted by kernel drivers, windows exes and admin mode services)
  2. Total Boot Time to Desktop (mostly impacted by startup programs/services (logon secific))
  3. Best Time of the system to the Desktop when compared with earlier measurements.
  4. Difference of the current measurement of the time to desktop to the best boot time to desktop measured by the tool.
  5. ‘Last Shutdown’ time of the computer on which the test is run.
  6. And, Boot Speed Rating as ‘Good’ or ‘Excellent.

The measurements that BootRacer makes can be viewed in the following ways:

  1. ‘BootRacer’ event log under Windows Computer Management.
  2. On an interface as a pop-up, once BootRacer completes its measurements.
  3. 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.

System Specifications

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

How BootRacer Works

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.

Installation

  1. Double-click and run the binary, BootRacer gets installed as a service on your computer and the welcome screen pops-up.
  2. Once installed, following screen should appear:

1.jpg

Configuring BootRacer

To configure the BootRacer, user has different options under ‘Race it’ and ‘Advanced’ on the main screen.

Race it

Start

  • 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.

Show

  • 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.

Results

  • 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.

Statistic

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.

Advanced

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:

  1. Normal (Default)
  2. Medium System Load
  3. High System Loaded
  4. 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)

Help Manual

Using this option you could browse to the HTML Help Manual provided by the tool.

Get Support

Clicking on this option will take you to Greatis support website. You could log a ticket by describing your problem.

Language

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

About

This option gives user the release version information of the BootRacer tool.

Exit

Of course, this option allows you to quit the BootRacer application.

INI File

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

Execution

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.

br1.jpg

Results

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.

Windows Event Log

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)
Interface View

An example snapshot of the interface view where all the measurements requested by the user are manifested.

2.jpg

The above snapshot displays the results on an interface.

Balloon View

Similarly, results can also be viewed on the balloon on the desktop near the system clock. Please see the snapshot below as an example.

3.jpg

Data Analysis – Case Study

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.

Without Product Installation

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

Summary

Best Time: 101 seconds Average Boot Time to Logon: 39.4 seconds Average Boot Time to Desktop: 125.2 seconds

With Product Installion

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

Summary

Best Time: 105 seconds Average Boot Time to Logon: 42.4 seconds Average Boot Time to Desktop: 129.2 seconds

Analysis

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.

Automation for N iterations

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.

Known Issues and Limitations

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 for commercial use

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

Leave a Reply

Copyright © Testing Perspective,