"sqlio -kR -b64" - Reading 64-KB Block Test

Q

How to perform tests for reading 64 KB files? My Website serves picture files with an average of 64 KB per file.

✍: FYIcenter.com

A

If you want to know how your environment performs on reading 64 KB files, you can use the following SQLIO options:

  • "-LS" - Sets SQLIO to report latency measurements using the system timer.
  • "-kR" - Sets SQLIO to perform reading tests.
  • "-b64" - Specifies test block size to 64 KB, which represents the average file size on your Website.
  • "-i64" - Specifies the run size of 64 I/O tests. This simulates the pattern of users requesting 64 different files in row.
  • "-f64" - Specifies the stripe factor of 64 blocks. This simulates the pattern of users requesting consecutive files stored 64-file away from each other.
  • "-t1" - Sets SQLIO to use 1 thread only. This simulates the pattern of a quiet Website that users comes one after another sequentially.
  • "-s300" - Sets SQLIO to run for 300 seconds, or 5 minutes.

Below is a test result SQLIO with above options on a Dell computer hard disk with Windows 8:

C:\fyicenter\SQLIO>sqlio -LS -kR -b64 -i64 -f64 -t1 -s300

1 thread reading for 300 secs from file testfile.dat
        using 64KB IOs over 4096KB stripes with 64 IOs per run
size of file testfile.dat needs to be: 268435456 bytes
initialization done
CUMULATIVE DATA:
throughput metrics:
IOs/sec:   140.35
MBs/sec:     8.77
latency metrics:
Min_Latency(ms): 0
Avg_Latency(ms): 6
Max_Latency(ms): 1847
histogram:
ms: 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24+
%:  7  0  1  0  1 29 34 18  2  1  1  0  0  0  0  0  0  0  0  0  0  0  1  1  2

As you can see, this Dell computer is capable to read 140 files of 64 KB per second from the hard disk in a single thread without any buffering.

The average latency of reading a 64-KB block is about 6 milliseconds. In other words, your users should be able to fetch a file from your Website in 6 milliseconds if we ignore the impact of the Web server software.

The data file used in this test is of 268435456 bytes, or 256 MB, representing 64 x 64 (or 4096) 64-KB files.

 

Windows Resource Monitor - Disk Reading Speed

"sqlio -s300" - Get Stable Test Result

Tuning SQLIO for Your Environment

⇑⇑ SQLIO Disk I/O Benchmark Test Tutorials

2019-08-23, 138👍, 0💬