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

Reply via email to