Performance issues with Cyrus v2.1.12 on Solaris 5.8

Michael Rourke m.rourke at
Mon May 5 22:15:38 EDT 2003


I have a fairly standard configuration: Berkeley DB V3.2.9 --without-krb

Following your advice, I used truss, and examined the duration of the 
system calls occurring during the SELECT "INBOX" command. Averaging over 
the 370 sessions that occurred in two minutes these are the top average 
system call execution times:
0.3711 rename
0.2194 open
0.1281 fdsync
0.0424 munmap
0.0203 close

The slow renames are typically:
rename <configdir>/user/t/<user>.seen.NEW <configdir>/user/t/<user>.seen
rename <partition>/user/<user>/cyrus.header.NEW 
rename <partition>/user/<user>/cyrus.index.NEW 

The slowest opens are typically the opening of .seen and .seen.NEW 
versions in <configdir>/user/t/.  

As all my test user names (all 9999 of them) start with the letter "t", 
the contention for the directory <configdir>/user/t is the most obvious 
problem. With the old Cyrus version the .seen files were in <partition>.

--enable-fulldirhash should help with this problem.... but this will 
make upgrading interesting as things like sieve and subs_db files will 
need rehashing... and complicates the ability to roll-back too.


Rob Siemborski wrote:

>On Mon, 5 May 2003, John Alton Tamplin wrote:
>>>Can anyone suggest why these two functions are so slow, especially
>>>when the V1 equivalents were measurably faster?
>>What is your configuration?  Are you using BerkeleyDB for the mailbox DB
>>or skiplist?
>Additionally, what syscalls are taking the time (truss/strace output with
>how long each call took would be helpful).
>Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456
>Research Systems Programmer * /usr/contributed Gatekeeper
Michael Rourke, Network Services Developer, +61 2 9385 1137
Enterprise IT Infrastructure Unit, University of New South Wales

More information about the Info-cyrus mailing list