"sqlio -i" - Number of IOs per IO Run

Q

What is the Number of IOs per IO Run option, "sqlio -i"?

✍: FYIcenter.com

A

The Number of IOs per IO Run option, "sqlio -i", specifies run size, which is the number of I/O tests performed in each run.

The default value is "-i64", 64 tests per run. In this case, SQLIO will repeat as many as runs within the specified execution time. In each run, it will perform 64 I/O tests. Of course, each I/O test works on a single data block.

Example 1 - Run SQLIO with 16 tests per run:

C:\fyicenter\SQLIO>sqlio -i16

1 thread reading for 30 secs from file testfile.dat
        using 2KB IOs over 128KB stripes with 16 IOs per run
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec: 12361.34
MBs/sec:    24.14

Example 2 - Run SQLIO with 32 tests per run:

C:\fyicenter\SQLIO>sqlio -i32

1 thread reading for 30 secs from file testfile.dat
        using 2KB IOs over 128KB stripes with 32 IOs per run
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  4448.98
MBs/sec:     8.68

Example 2 - Run SQLIO with 64 tests per run:

C:\fyicenter\SQLIO>sqlio -i64

1 thread reading for 30 secs from file testfile.dat
        using 2KB IOs over 128KB stripes with 64 IOs per run
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:  2890.22
MBs/sec:     5.64

As you can see, when the run size is increased, the throughput goes down. This is because larger runs stretch out data file to be bigger, which takes longer for the operating system to handle.

 

"sqlio -t" - Number of Threads

"sqlio -f" - Stripe Size in Blocks

Getting Started with Microsoft SQLIO

⇑⇑ SQLIO Disk I/O Benchmark Test Tutorials

2019-05-11, 121👍, 0💬