Performance issues with Cyrus v2.1.12 on Solaris 5.8

Rob Siemborski rjs3 at
Wed May 7 00:19:38 EDT 2003

On Wed, 7 May 2003, Michael Rourke wrote:

>     - seen file is replaced on every mailbox access (i.e. a new file is
> created and a rename occurs)

This is indeed why it is slow.

> The later seems unfortunate. Rename is not a cheap operation compared to
> rewriting. The truss results are now:

Its necessary for atomic updates.  And the rename is probably fast
compared to the complete rewrite and sync of the file that needs to happen
(especially if the file is large).

> The  fdsync occurs just before the rename, and is also costly (and
> slightly paranoid?).

Not if you want to survive a crash. If you don't fdsync you can rename,
and then crash, and possibly have metadata written (the rename) but not
the data in the file.

> Because of this behaviour my IMAP read benchmarks are still 10% slower
> on Cyrus 2.1.12 compared to Cyrus 1.6.24, despite the faster authentication.

Right. a flat file database is slow.

> Changing seen_db to db3 may help - but this shouldn't be necessary. Are
> you saying I can use skiplist for this file too? Are there tools that
> help the conversion?

I suspect db3 will make you very unhappy.  Skiplist is definately the way
to go.  As many many posts to the mailing list have said, the cvt_cyrusdb
program will do just this conversion (on a per file basis).


Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456
Research Systems Programmer * /usr/contributed Gatekeeper

More information about the Info-cyrus mailing list