Databases Reference
In-Depth Information
Running a Basic I/O test
What you want to do now is use SQLIO to run a basic performance test on a disk. You can start doing
this with just a single command line, but that only gives you a single data point. What you really need is
a series of connected data points so that you can see how the disk actually performs.
There are four basic types of I/O you want to consider: Read, Write, Sequential access, and Random
access. You want to know how your disk performs under each of these different I/O types.
However there are also a lot of other ways that I/O can be driven that alter the results you get, so now
you have to take a look at some of the other parameters to SQLIO. The key ones you want to manipulate
through your performance tests are going to be the block size, the number of threads SQLIO is going
to use, and the number of outstanding I/Os it will issue. You also have to determine how big a file you
want to use for testing and how long you want to run the test for. Finally you need to tell SQLIO where
you want it to create its test file.
Before you get caught up in all the details, let's just do a basic test and see what happens. Following is
a basic set of test arguments that will run a 2-minute test and create a 2 GB test file in the root of the D
drive.
sqlio.exe -kW -s120 -f64 -i512 -b64 -LS D: \ TestFileA.dat
Figure 12-5 shows the result of this run. Your results will vary depending on your system.
Now you can see the full output that SQLIO will give you. This includes the IOPS and MB/Sec that you
saw before, and Min, Avg, and Max latency stats, as well as a great latency histogram.
From this you can see that this disk is currently performing at 10.91MB/sec and 174.60 IOPS, but you
have to qualify this with the I/O type, which was Sequential Write, and the block size, which was 64KB.
Changing any of the other parameters may well deliver different results, and that's what you really want
to see: how the disk delivers different results as you alter one parameter at a time.
Using Parameter Files
One thing you will notice about the preceding example is that it differs from those in the sqlio.rtf file,
in that the previous example doesn't use a parameter file to specify the target. I used to use parameter
files, but when you get to the Advanced SQLIO examples below, you will see why they are limited, so I
switched to not using them.
The basic format of a parameter file is:
< Filename >< Number of Threads >< Optional Mask >< Optional File size in MB >
A simple example would be to put the following into a file called param.txt :
D: \ TestFileB.dat 1 0x0 2048
Then you would use this in the SQLIO command line:
sqlio -kW -s10 -frandom -o8 -b8 -LS -Fparam.txt
Search WWH ::




Custom Search