On Mon, Mar 10, 2014 at 7:01 PM, Jono Poff <jonathan.p...@taitradio.com> wrote:
> I'm using Solaris 10 with zfs and I may be able to disable write caching on
> the entire disk, but would prefer not to!  Any ideas appreciated.

The way ZFS works, if you don't have a ZIL (ZFS Intent Log) device
then all fdatasync() calls sync metadata as well.  It has to be thus
due to ZFS' copy-on-write filesystem nature.

Things you should do:

1) Make sure that the SQLite3 page size and ZFS recordsize in the
dataset holding the SQLite DB match.

2) Make that size something appropriate (SQLite3 does -or used to-
default to a page size of 512 bytes on Unix, which is way too small
nowadays).

3) Get an SSD with high write IOPs rates, and use it as a ZIL.  Or a
battery-backed RAM ZIL.

4) If you do get a ZIL, make sure you set the SQLite3 page size and
ZFS recordsize to match the device's natural block size (which will
typically be either 4KB or 8KB).

Nico
--
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to