SQLIO
Function: Disk IO pressure test tool, Sqlio is mainly to simulate random or sequential ways to test the performance of disk IO.
SQLIO Disk Subsystem Benchmark tool Tools:
http://www.microsoft.com/en-us/download/details.aspx?id=20163
RAID storage technology has been widely used on SQL Server servers and has many layers of hardware and firmware, as well as storage management software configurations for storage media. If the settings are inappropriate, the final performance of the same hardware will vary greatly.
Microsoft provides a tool called SQLIO.exe, specifically used as a database hard disk stress test. When the tool is installed, the main use is two files.
1. Param.txt.
Examples of-----------------------------content----------------------------
#c: \testfile.dat 2 0x00 100
D:\testfile.dat 4 0x00 1024
-----------------------------------------------------------------------
The format of each row and its parameters have the following meanings.
L <path to test File>: The test file and its full path.
L <number of threads (per test file): Test how many threads are used at the same time. The recommendation is consistent with the number of CPUs.
L <MASK>: Always use 0x0.
L <size of test file in Mb>: Testing the size of files, preferably San (or RAID Controller) read and write cache size of 2 to 4 times times, A5 machine is generally 512MB, here can use 1024MB.
If a line is to be commented out, add a # number to the front.
So the above example means, in the root directory of the D disk, with 4 threads, a 1024MB file to do the stress test.
2. SQLIO.exe.
This is the main test file. It has a number of parameters, meaning the following table:
Options |
Description |
-O |
The length of the queue that the test file generates on the disk (disk queue lengths). In general, the higher the value, the greater the throughput of the unit-time disk. However, some disks can be problematic if the queue length is too large. Commonly used are 8, 32, and 64. |
-ls |
Record disk response time, which is a recommended option |
-K |
Specify whether to read or write (R or W) |
-S |
How many seconds the test lasts. Generally at least 5-10 minutes. |
-B |
The size of each I/O request. |
-F |
The type of I/O is random (' random ') or continuous (' sequential '). |
-F |
The name of the parameter file, the default is Param.txt |
Because the test needs to cover different I/O types, you can use a batch file like the following to do a set of tests
See annex Testio.bat
The full path of the timeout command is entered here because if Cygwin is installed, the timeout command found is not the command under Windows because of the priority of the environment variable path, which causes the command to fail.
Run at the command line when running:
Testio.bat > OUT.txt
The results are output in the OUT.txt file in the same directory. Each line of command will have its output.
In random reads and Random writes, the number of disk transfers/sec does not change significantly due to the size of each transfer (per I/O), and AVG. Disk Sec/transfer is similar. So every time I am done I/O, it takes about the same length, the bigger the transfer, the higher the disk bytes/sec. But overall performance, is still not as long as to do continuous reading, writing time.
In the continuous reading and writing, because the data is continuous, so no matter how much I/o each time, the final disk bytes/sec value is not big difference.
When things are different, the throughput of the disks can vary greatly. When discussing disk performance with the hard disk vendor, they are also required to provide the ability of the disk under different I/O behavior rather than some optimal value.
For the output of OUT.txt, ios/sec corresponds to the disk's iops,mb/s equivalent to the throughput of the disk data. Latency corresponds to the response time of the disk.
See annex OUT.txt
The output for SQLIO has a very useful analysis tool (SQLIO Analyzer) that saves the results of SQLIO to a TXT file and filters out the relevant data with a shell command such as:
grep "Ios/sec" OUT.txt | awk ' {print $} '
Then import the analysis tool and the following chart results can appear.
See annex Sqlio_analyzer_results.xls
Tool Address: http://tools.davidklee.net/sqlio.aspx
This article is from the "Dripping Stone Wear" blog, please be sure to keep this source http://ultrasql.blog.51cto.com/9591438/1580054
SQLIO simulate random or sequential ways to test disk IO performance