Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to find out why my application is very slow on a certain machine (runs fine everywhere else). I think i have traced the performance-problems to hard-disk reads and writes and i think it's simply the very slow disk.

What tool could i use to measure hd read and write performance under Windows 2003 in a non-destructive way (the partitions on the drives have to remain intact)?

share|improve this question

migrated from Apr 12 '10 at 17:08

This question came from our site for professional and enthusiast programmers.

There is a built-in disk performance checker in Windows called winsat:

Run winsat with with Administrator privileges.


C:\WINDOWS\system32>winsat disk -drive g
Windows System Assessment Tool
> Running: Feature Enumeration ''
> Run Time 00:00:00.00
> Running: Storage Assessment '-drive g -ran -read'
> Run Time 00:00:04.17
> Running: Storage Assessment '-drive g -seq -read'
> Run Time 00:00:08.64
> Running: Storage Assessment '-drive g -seq -write'
> Run Time 00:00:17.47
> Running: Storage Assessment '-drive g -flush -seq'
> Run Time 00:00:03.53
> Running: Storage Assessment '-drive g -flush -ran'
> Run Time 00:00:04.16
> Disk  Random 16.0 Read                       21.05 MB/s          6.0
> Disk  Sequential 64.0 Read                   38.29 MB/s          4.9
> Disk  Sequential 64.0 Write                  39.67 MB/s          4.9
> Average Read Time with Sequential Writes     1.324 ms          7.4
> Latency: 95th Percentile                     2.585 ms          7.3
> Latency: Maximum                             26.977 ms          7.9
> Average Read Time with Random Writes         1.299 ms          8.1
> Total Run Time 00:00:39.41
share|improve this answer
Finally a solution which is a) build in b) command line - Thanks a lot. To use it on a 2012 Server Core OS I had co copy the files winsat.exe, d3d11.dll, dxgi.dll, d3d10.dll, d3d10_1.dll, d3d10_1core.dll, d3d10core.dll from a windows 8 computer. – Jürgen Steinblock Jul 20 '15 at 8:14
Great tool. Great answer. – Joker Aug 20 '15 at 3:43
You have to run the command prompt as an administrator, otherwise it pops a new command prompt and disappears as soon as it's finished, taking the results with it. – David Krider Oct 14 '15 at 11:05
@DavidKrider Indeed. Such a weird behavior, if it requires administrator privileges, then it should not run from the start. – Ghasan Feb 25 at 1:59
Thanks. Maybe it's worth amending the answer, because the behaviour without Admin privileges is really strange. – Dimitrios K. Jun 2 at 21:32

HD Tach has been end of lifed. HD Tune appears to be equivalent:

HD Tune screenshot

share|improve this answer
Pretty graphs FTW! +1 – Iain Holder Jan 27 '09 at 10:51
The link is dead and there's now a HD Tach End of Life Announcement at their website saying it's no longer supported. – Hugo Mar 27 '12 at 12:49
@Hugo good spot, have updated my answer accordingly – TopBanana Mar 29 '12 at 9:00
the free version of HD Tune 2.55 does not allow to benchmark disk write:( – Andrej Adamenko Jul 4 '15 at 3:30

You can use Perfmon to gather physical disk based counters, such as:

  • Physical Disk (instance)\Disk Transfers/sec counter for each physical disk

  • Physical Disk(instance)\% Idle Time

  • Avg. Disk Queue Length

Or download PAL (very useful monitoring tool) and use the built-in template targeting the OS.

share|improve this answer

IOMeter will do this. It can do non-destructive testing by writing to its own files within the partitions.

share|improve this answer
Thanks! Iometer is perfect for my needs. – Alphager Jan 27 '09 at 11:14
Iometer sucks for the casual user. Requires an installer (wth for) tries to open friggen sockets and the UI is your typical OSS ui--ugly, way more complex than necessary, and ultimately confusing to anybody that doesn't RTFM. – Will Aug 30 '09 at 21:41
Oh, and it doesn't uninstall correctly, and it doesn't show up in Programs and Features. Forgive me for being less than rude before. IOMeter is shitware. – Will Aug 30 '09 at 21:45
Worked fine for me ;-} – ConcernedOfTunbridgeWells Aug 31 '09 at 17:59

The performance counters in windows can show you transfer-speeds, current disk queue etc in order to trace the actual bottleneck on the machine when your app is running.

Look at Performance Object: Physical Disk

And look especially at the queue-counters. A disk can be very fast ad sequential reads, but as soon as it tries to access the disk simultaneously the queue might peak and give you horrible performance.

share|improve this answer

ATTO Disk Benchmark is freeware and does not require installation.

enter image description here

share|improve this answer

Try with Harddisk benchmark programs:

share|improve this answer

For those who might be looking for something capable of testing SQL type scenarios there's Diskspd.exe which has superseded SQLIO.

share|improve this answer

Besides graphical tool if you want an elaborate output to analyze the performance of your partition or hard disk, there is a nice tool called sqlio(from microsoft). The tool is CMD based, but does an awesome job when it comes to IO testing. Refer: Windows Disk Performance test

share|improve this answer

You must log in to answer this question.