"sqlio -kW -b64" - Writing 64-KB Block Test

Q

How to perform tests for writing 64 KB files? My Website allows users to upload picture files with an average of 64 KB per file.

✍: FYIcenter.com

A

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

  • "-LS" - Sets SQLIO to report latency measurements using the system timer.
  • "-kW" - Sets SQLIO to perform writing 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 uploading 64 different files in row.
  • "-f64" - Specifies the stripe factor of 64 blocks. This simulates the pattern of users uploading 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 -kW -b64 -i64 -f64 -t1 -s300
        
1 thread writing for 300 secs to 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:   487.31
MBs/sec:    30.45
latency metrics:
Min_Latency(ms): 0
Avg_Latency(ms): 1
Max_Latency(ms): 280
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+
%: 59 13 11  6  3  3  1  1  0  0  1  1  0  0  0  0  0  0  0  0  0  0  0  0  0        

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

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

Comparing to the data reading test in the previous tutorial, the result might be a surprise to many of us. This Dell computer writes data at a speed of 30.45 MBs/sec, but reads data at a speed of 8.77 MBs/sec. So writing data is 3.5 times faster than reading data!

Usually, hard disks are capable to read faster than write. But in the case of 64-KB block I/O tests, operating system caching mechanism helps writing more than reading. See next tutorials on performance impact of block size.

 

Windows Resource Monitor - Disk Writing Speed

Windows Resource Monitor - Disk Reading Speed

Tuning SQLIO for Your Environment

⇑⇑ SQLIO Disk I/O Benchmark Test Tutorials

2019-08-23, 193👍, 0💬