A common phone call I get from my small business customers is the “my system performance isn’t what I expected” complaint, with the refrain, “It must be Windows Vista.” But in almost every case, it’s not Vista’s fault. Most of these businesses made the most of their limited hardware budgets and often bought the computers as a package deal. This often means that the computer hardware lacks enough memory or has slow components. The easy way out is to tell the customer to max out the memory on the computer in question. However, if that doesn’t solve the problem, I’ll usually visit the customer and assess the situation with a little tool in Vista: the Windows System Assessment Tool.

Most people think of this tool in conjunction with the Windows Experience Index (WEI) screen, a piece of frippery that gives the user a quick rating of the computer’s ability to run Vista (which is already installed on the computer). While a low WEI number pretty much guarantees poor Vista performance, a high number doesn’t guarantee great performance, and the meaning of numbers in the middle can be hard to pin down. So why would I suggest this as a useful tool in diagnosing performance problems with Vista?

I suggest the Windows System Assessment Tool because of its winsat command-line utility. Winsat is the underlying technology for the WEI, but as a command-line tool it lets the user get detailed performance information on such things as disk, graphics, and memory performance. Winsat.exe can be complex to use, but fortunately, it’s completely scriptable. For my own basic assessment of a client machine, I have a series of winsat commands queued in a batch file and use output redirection to pipe the output to a text file to peruse. Since winsat is already on the computer, I can email the batch file to a customer, they execute it, then email me the results file so I can do a little system-performance evaluation without having to be on site. (To get basic information about using the tool, type “winsat –?” at a command prompt. To get detailed instructions about using commands for your diagnostic needs, go to http://technet.microsoft.com/en-us/library/cc770542.aspx.)

Here’s an example of the type of output I use. I know that one of the most common causes (after too little memory) for slower-than-expected system performance is the use of slower hard drives in discounted system configurations. In the sample below, the first drive is a high capacity (1TB) 5400rpm SATA included in a discount configuration. I’ve used winsat to do a sequential read test off the drive, as that’s representative of what happens when you open files or applications:
winsat disk -seq -read -drive o
Windows System Assessment Tool
> Running: Feature Enumeration v1.0.0.0 ''
> Run Time 00:00:00.56
> Running: Storage Performance Assessment via Profiling v1.0.0.0 '-seq -read -drive D'
> Run Time 00:00:32.92
> Disk Performance 27.27 MB/s
> Total Run Time 00:00:33.82

The read performance is just over 27MB/s, which seems sufficient but is actually pretty slow. Replacing the drive with a 500GB 7200rpm SATA drive yields the following:
winsat disk -seq -read -drive D
Windows System Assessment Tool > Running: Feature Enumeration v1.0.0.0 ''
> Run Time 00:00:00.53
> Running: Storage Performance Assessment via Profiling v1.0.0.0 '-seq -read –drive D'
> Run Time 00:00:20.19
> Disk Performance 63.58 MB/s
> Total Run Time 00:00:21.05

The replacement drive more than doubled the read performance. The user noticed visible improvement in system usability.