Are there large installation of Cyrus who use db3 for mailboxes.db on SMP Linux ? (tunning 2.2.x options are safe ?)

Cesar Lagarrigue CLagarrigue at etek.cl
Thu Feb 26 11:58:15 EST 2004


in fact, is safe to enable into compilation theses options ? or only is 
for the best performance of cyrus ? i not understand very well, is default 
on cyrus is safe into smp systems, or is only cyrus-2.1.x affected into 
smp ?


http://acs-wiki.andrew.cmu.edu/twiki/bin/view/Cyrus/WhatDatabaseBackend


----

Here's a brief summary of the three major database types: 


Berkeley DB: Slow enumeration, fast random access, fast write, binary 
support. However, it has proved to be somewhat unstable and prone to 
locking problems. 
Berkeley DB (no sync): Slow enumeration, fast random access, very fast 
write, binary support, but no guarantee of database durability; recent 
writes can be lost on crashes. 
Skiplist: Proprietary Cyrus Format, fast enumeration, moderately fast 
write, moderately fast random access, binary support 
Flat: Easy to maintain format, fast enumeration, very slow write, moderate 
random access, no binary support 
And now the current recommendations (provided you are not having the 
Berkeley DB locking problem, in which case those entries become 
'skiplist'): 

Note that 'berkeley' in 2.2 is the same as 'db3' in 2.1. 

>    --with-duplicate-db=DB  use DB (db3, skiplist) as a backend
>                            for the duplicate delivery db
berkeley_nosync, 

since the worst part about losing this is that someone might get a 
vacation message twice. It also needs fast lookups. 

>    --with-mboxlist-db=DB   use DB (flat, db3, skiplist) as a backend
>                            for the mailbox list
skiplist.

 You need fast list operations and good consistency in the event of a 
crash. Also, since the mailboxes database is a frequent source of lock 
contention, the speed of skiplist writes reduces the amount of time any 
process is waiting to use the file. 


>    --with-seen-db=DB       use DB (flat, db3, skiplist) as a backend
>                            for the seen state (Default: flat)
skiplist.
 Writes happen very frequently to this file so the logging nature of 
skiplist can give good performance (it also helps to have good consistency 
here) 


>    --with-subs-db=DB       use DB (flat, db3, skiplist) as a backend
>                            for the subscriptions list
flat.

 You need fast list performance, and write operations don't happen often 
to this database, and it might be useful to be able to modify it by hand. 
Also, flat files tend to be smaller than skiplist copies of the same data. 



>    --with-tls-db=DB        use DB (db3, skiplist) as a backend
>                            for the TLS cache (Default: db3_nosync)
berkeley_nosync

. for the similar reasons to the deliver database (you need fast lookups 
and if the db bites the dust, it's not a big deal). 


The following are only available in 2.2 

>  --with-pts-db=DB        use DB (berkeley, skiplist) as a backend
>                          for the pts cache
berkeley. 

The need for fast random access is key for the PTS database. This database 
may be able to be successfully used in a nosync mode, though writes tend 
to be semi-infrequent compared to the TLS db and the deliver DB. 


>  --with-annotation-db=DB use DB (berkeley, skiplist) as a backend
>                          for the mailbox annotations
skiplist. 

annotations are frequently enumerated, so the random access benefits of 
berkeley can be lost, which makes this almost a toss up, slightly in favor 
of skiplist (Because it avoids the locking issues). 



Cesar Lagarrigue V.
Project Engineer
clagarrigue at etek.cl




Rob Siemborski <rjs3 at andrew.cmu.edu> 
Sent by: owner-info-cyrus at lists.andrew.cmu.edu
26-02-2004 11:02

To
Etienne Goyer <etienne.goyer at linuxquebec.com>
cc
info-cyrus at lists.andrew.cmu.edu
Subject
Re: Are there large installation of Cyrus who use db3 for mailboxes.db on 
SMP Linux ?






On Thu, 26 Feb 2004, Etienne Goyer wrote:

> For the sake of comparison and help me pinpoint my problems, I would
> like to know if anybody with a large Cyrus installation use Berkeley db
> for mailboxes.db on SMP Linux system, just like us.  Note that db3 is
> the default, so if you did not change it, you probably use it.

...unless you are using Cyrus 2.2, where Skiplist is the default.

-Rob

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

---
Home Page: http://asg.web.cmu.edu/cyrus
Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html



---
Home Page: http://asg.web.cmu.edu/cyrus
Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list