Skip to content

SLOG tests on a 32GB Kingston SSD with iozone

This is a follow-up on my previous post. I ran iozone both with and without the [ccie]-e[/ccie] flag. This flag includes a sync/flush in the speed calculations. This flush should tell ZFS to commit the in-process data to disk, thus flushing it to the SLOG device (or to the on-disk ZIL).

I ran 4 tests: one without the [ccie]-e[/ccie] flag, and one with it; I then repeated the combination with the SLOG device removed.

Here are the results:

Sync? SLOG? Write Speed (KB/s)
No Yes 2922009
Yes Yes 13650
No No 3955196
Yes No 227990

In cases where the sync was disabled, we can see ridiculously fast rates–the ZFS system is just writing to kernel memory and calling it done. (This is a TxG and will be written to disk at worst case periodically.)

In the one case where sync is enabled and the SLOG is in place, the write speed drops considerably–to 13.6 MB/s. This indicates that the sequential rate isn’t really dominating. If it were, it would be closer to 68 MB/s. Instead, it seems like the random-write speed is somehow in the mix. This result is a bit surprising. I will try (tonight) another test with a python script that opens the file with SYNC set, to see what that does.

As you can see below, iozone was run with a record length of 16384K (the max it would allow) and a file size of 163840K (10 records).

Without Sync / With SLOG

Iozone: Performance Test of File I/O
Version $Revision: 3.420 $
Compiled for 64 bit mode.
Build: freebsd

Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa.

Run began: Wed Apr  2 05:51:16 2014

File size set to 163840 KB
Record Size 16384 KB
Command line used: iozone -s 163840 -r 16384 -i 0
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random  random    bkw
KB  reclen   write rewrite    read    reread    read   write    rea
163840   16384 2922009 4685031

iozone test complete.

With Sync / With SLOG

Iozone: Performance Test of File I/O
Version $Revision: 3.420 $
Compiled for 64 bit mode.
Build: freebsd

Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa.

Run began: Wed Apr  2 05:51:41 2014

Include fsync in write timing
File size set to 163840 KB
Record Size 16384 KB
Command line used: iozone -e -s 163840 -r 16384 -i 0
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random  random    bkw
KB  reclen   write rewrite    read    reread    read   write    rea
163840   16384   13650   11330

iozone test complete.

Remove SLOG

sudo zpool remove tank gpt/tank_zil1

Without Sync / Without SLOG

Iozone: Performance Test of File I/O
Version $Revision: 3.420 $
Compiled for 64 bit mode.
Build: freebsd

Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa.

Run began: Wed Apr  2 05:52:45 2014

File size set to 163840 KB
Record Size 16384 KB
Command line used: iozone -s 163840 -r 16384 -i 0
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random  random    bkw
KB  reclen   write rewrite    read    reread    read   write    rea
163840   16384 3955196 5757868

iozone test complete.

With Sync / Without SLOG

Iozone: Performance Test of File I/O
Version $Revision: 3.420 $
Compiled for 64 bit mode.
Build: freebsd

Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins
Al Slater, Scott Rhine, Mike Wisner, Ken Goss
Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR,
Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner,
Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone,
Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root,
Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer,
Vangel Bojaxhi, Ben England, Vikentsi Lapa.

Run began: Wed Apr  2 05:52:53 2014

Include fsync in write timing
File size set to 163840 KB
Record Size 16384 KB
Command line used: iozone -e -s 163840 -r 16384 -i 0
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
random  random    bkw
KB  reclen   write rewrite    read    reread    read   write    rea
163840   16384  227990  232362

iozone test complete.

Be the first to like.

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*