Disk Stress Test

Type: Automated Test

Overview

The Disk Stress test stresses disks on a computer by sending as much asynchronous I/O as the device can handle. The test should reach the bandwidth limit of the test device for the given test system configuration.

Details

The test is passed the instance path of the target test device. It finds all hard disks and optical drives that are equal to or connected to the test device. The test will then go through the following scenarios on all of the found devices: sequential read, sequential write, sequential verify (write followed by read and comparison), random read, random write, and random verify.

 

The test is given a fixed run time and will run each scenario for a fraction of that time. In the case of six scenarios and a run time of 90 minutes, each scenario will be run for 15 minutes. The test will display dialog boxes with the progress of the current scenario. Any write scenarios (including verify) are skipped for optical devices. The size of the individual data transfers is determined by a command-line parameter; the default for the logo test is 32 KB.

 

The test will try to do raw writes, bypassing any file system that is mounted on the hard disk if it can. The test will attempt raw writes if one of the following occurs:

The test can find a raw, unpartitioned disk.

The test can find a raw, unformatted volume.

The test can find a volume that it can dismount.

 

If none of the preceding situations are available, the test will perform IO through the file system. This action is more CPU intensive and might not give accurate bandwidth and latency measurements for the device. In the third situation (the test finds a volume that it can dismount), which is the most common mode that the test is run in, the test will allocate a test file to use and write only to the extents of that file. This situation ensures that the test will never corrupt the file system of the device that it is testing.

 

The amount of space that the test uses is determined by the free space that is available on the test device. To ensure best device performance, you should delete any unnecessary files off the test device and should cleanly format or defragment the device before running the test. The test will warn you if the target's fragmentation might influence the test results.

 

Even though this test does measure device performance, there is currently no test case in the Logo version of this test that will pass or fail based on these measurements.


Run Time: 90 minutes (Device LOGO) or 30 minutes (System LOGO)
Log File: diskio.wtl
System Restart Required: No
Test Category: Storage Adapter, Hardware Based RAID System, Hard Disk Drive, Removable Storage, Optical Disk Drive, System
Supported operating systems for "DFW" logo testing:
Windows Vista
Windows Server 2003
Windows XP
Program: 

Requirements

Software Requirements

The test tool runs on the following Windows operating systems:

  • Windows Vista
  • Windows Server 2003
  • Windows XP
  • Software components included with the device that is being tested.
  • Microsoft .NET Framework version 2.0 (installed automatically)

Hardware Requirements

  • Device to be tested
  • Computer that meets the minimum software requirements
  • Storage connected to the test device. Storage should contain media.  If disk storage the disk should either be totally un-partitioned, or partitioned, formatted, and assigned a drive letter.

Processor

  • x86
  • x64
  • Itanium

Running Disk Stress Test

If you are testing any drive that requires media or testing in system-mode on a computer that contains drives that require media, you must insert media into the drives. The media that is used must be formatted and contain data that occupies at least 50% of the media's capacity.

Command Syntax

 

Command option

Description

 

/a

Run on all associated devices.

/b <blockSize>

Block size (integer) in bytes of IO transactions. MB & KB supported. ex: /b 32KB

/c <scenarios>

Scenarios to test.  <scenarios> should be a list delimited with ','s or ';'s.  Valid characters are: s: sequential scenario, x: random scenario, r: read access, w: write access, v: verify (writes followed by reads and data verification), ex: /c sv;xr;xw, ex: /c sv,xr,xw

/d <device>

Device identifiers of devices to test delimited with ','s or ';'s.  If none are specified all disks are tested.  Identifiers include: Instance path, PhysicalDriveX, and Drive letter.  An identifier of "any" will cause the test to run on any device on the system.  ex: /d "IDE\DISKMAXTOR_6L160M0__________________________BANC1G10\5&2A36C317&0&0.1.0" /d PhysicalDrive1;G:;"PCI\VEN_8086&DEV_2651&SUBSYS_01791028&REV_03\3&172E68DD&0&FA"

/f

Force file mode.  The test won't attempt to dismount volumes.  This should not be used as an accurate measure of disk performance.

/i <iterations>

Iterations (integer) to run. Cannot be specified with /d.  Default is 1 if /d is not specified.

/l <numBuckets>

Number of buckets to use for approximate latency measurements.

/o

Enable testing of optical drives.

/q <queueDepth>

Depth of the IO queue (integer).

/s <size>

Size (integer) in bytes of one iteration. KB, MB, & GB supported. ex: /s 6GB

/t <time>

Time (integer) in seconds to execute.  Cannot be specified with /i.  You may also use TimeSpan formatting: dd.hh:mm:ss

/v

Use verbose logging /x <file.xml>   Name of XML File to use for reporting.  If file.xml is undefined a unique name based on machine, date, and time will be used.

File Manifest

File

Location

DiskIo.exe

…\tests\%ARCHITECTURE%\nttest\driverstest\storage\wdk

StorageDevices.dll

…\tests\%ARCHITECTURE%\nttest\driverstest\storage\wdk