On Tue, Oct 21, 2008 at 03:43:08PM -0400, Bill Sommerfeld wrote: > On Mon, 2008-10-20 at 16:57 -0500, Nicolas Williams wrote: > > I've a report that the mismatch between SQLite3's default block size and > > ZFS' causes some performance problems for Thunderbird users. > > I was seeing a severe performance problem with sqlite3 databases as used > by evolution (not thunderbird). > > It appears that reformatting the evolution databases to a 32KB database > page size and setting zfs's record size to a matching 32KB has done > wonders for evolution performance to a ZFS home directory. > > > It'd be great if there was an API by which SQLite3 could set its block > > size to match the hosting filesystem or where it could set the DB file's > > record size to match the SQLite3/app default block size (1KB). > > IMHO some of the fix has to involve sqlite3 using a larger page size by > default when creating the database -- it seems to be a lot more > efficient with the larger page size. > > Databases like sqlite3 are being used "under the covers" by growing > numbers of applications -- it seems like there's a missing interface > here if we want decent out-of-the-box performance of end-user apps like > tbird and evolution using databases on zfs.
Agreed. I've filed: 3452: os_unix.c:unixSectorSize() should use statvfs() to get pref blk size http://www.sqlite.org/cvstrac/tktview?tn=3452 3454: hardcoded 32KB pagesize max may be too low http://www.sqlite.org/cvstrac/tktview?tn=3454 and 6762083 sqlite3 default pagesize selection could be better (SQLite3 tickets #3452 and 3454) Nico -- _______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss