How can I measure my disk speed in IOPS?

book

Article ID: 181596

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

 

Resolution

When performance tuning an ITMS installation, one aspect to consider is the disk speed performance -- especially on the SQL server.  The ITMS 7.5 Planning and Implementation Guide provides some general hardware recommendations for Microsoft SQL Server specific to disk speed (measured in IOPS). See DOC5670.

One tool that can be used to measure the disk speed in IOPS is Microsoft's SQLIO utility.  A generalized tutorial can be found at http://www.slashroot.in/microsoft-sqlio-disk-performance-test-and-benchmark-tool or at  http://www.mssqltips.com/sqlservertip/2127/benchmarking-sql-server-io-with-sqlio/.  The SQLIO benchmark utility can be downloaded from Microsoft here.

Simplified overview on using SQLIO:
1) Download and install the benchmark tool.  By default the tool will install to the C:\Program Files (x86) directory.

2) Modify param.txt file to indicate the drive to test.  For example, the entry c:\testfile.dat 8 0x0 5000 will test the C:\ drive and is configured for 8 threads (recommended to set the number of threads to the same number of physical processors on the server) with a test file size of 5000 MB.

3) Open an administrative command prompt and type the following command to run a randomized write test.  This will be a 90 second write test referencing the param.txt file modified in the previous step.

sqlio.exe -kW -s90 -frandom -o4 -b64 -Fparam.txt

 

Notes on the command line parameters:

-k  Operation to perform. W for write, R for read.
 
-f   Random or sequential I/O. -frandom chooses the block randomly across the file. -fsequential reads or writes sequentially. 
 
-o  Outstanding requests on each thread.

-s  Seconds to run. 

-b  Block size of each I/O in kilobytes. SQL Server reads and writes to data files in 64K blocks.