[ZODB-Dev] Re: ZODB Benchmarks

Benji York benji at zope.com
Tue Mar 25 09:40:16 EDT 2008


Christian Theune wrote:
> I talked to Brian Aker (MySQL guy) two weeks ago and he proposed that we
> should look into a technique called `group commit` to get rid of the "commit
> contention".
> 
> Does anybody know this technique already and maybe has a pointer for me?

I'd never heard the phrase until reading your message, but I think I got 
a pretty clear picture from 
http://forums.mysql.com/read.php?22,53854,53854#msg-53854 and 
http://archives.postgresql.org/pgsql-hackers/2007-03/msg01696.php.

Summary: fsync is slow (and the cornerstone of most commit steps), so 
try to gather up a small batch of commits to do all at once (with only 
one call to fsync).  Somewhat like Nagle's algorithm, but for fsync.

The kicker is that OSs and hardware often lie about fsync (and it's 
therefore fast) and good hardware (disk arrays with battery backed write 
cache) already make fsync pretty fast.

Not to suggest that group commit wouldn't speed things up, but it would 
seem that the technique will make the largest improvement for people 
that are using a non-lying fsync on inappropriate hardware.
-- 
Benji York
Senior Software Engineer
Zope Corporation


More information about the ZODB-Dev mailing list