ctl_cyrusdb -r performance over NFS

Rob Siemborski rjs3 at andrew.cmu.edu
Wed Mar 26 09:30:30 EST 2003


On Wed, 26 Mar 2003, Andrew McNamara wrote:

> We've noticed that "ctl_cyrusdb -r" is quite slow when working against an
> NFS spool (Netapp) on an otherwise quiesent system. Looking at a gcore,
> I see that the slow part is preening the mailboxes (deleting reserved
> mailboxes), rather than rolling the checkpoints forward. The process
> is looping doing stat(), fstat() and fcntl(F_SETLKW) calls, the last
> of which in the case of NFS requires a round-trip to the server, and I
> suspect this is where the slowdown comes from.

You probably don't want to be running cyrus on an NFS partition.

> Running ctl_cyrusdb with -x option results in near-instantaneous startups.
> What are mailbox reservations used for, and what side-effects will we see
> running with -x?
>
> The only other answer I see is to modify ctl_cyrusdb so that it avoids
> locking the mailboxes.db for each row, but rather aquires a "table lock".
> This may require an intrusive modification to the db api.

Reserved mailboxes will pop up after a crash halfway through a create, you
then won't be able to access that mailbox name until the reservation is
cleared.

-Rob

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
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