Questions on Cyrus IMAP
morgan at orst.edu
Mon Mar 28 20:06:11 EST 2005
On Mon, 28 Mar 2005, gopalakrishnan kamalanathan wrote:
> I have a few question on the Cyrus IMAP implementation.
> 1) What is the memory footprint of the Cyrus IMAP.
Each imapd process on my Cyrus server uses about 16MB of memory for shared
libraries plus a variable amount of memory depending on what operation is
currently being performed. I am running Cyrus IMAPD 2.1.16 (a little out
of date) on Debian Linux.
> 2) What is the maximum number of simultaneous connections that the Cyrus IMAP
> server can handle.
My server is a Dell 2650, dual 2.8GHz Xeon, 2GB of RAM with an external
RAID 0+1 disk array connected to a Perc4/DC RAID controller. The load
average during daytime (busiest time) use hovers around 1.0. The number
of imapd processes (connections) peaks out at around 600. With 2GB of
RAM, it has yet to use swap and typically has about 1GB of RAM available
for caching I/O.
This is about as loaded as I'm comfortable with on this box for
performance reasons. To handle further growth we plan to switch to Cyrus'
cluster model and grow horizontally.
> 3) How many threads does the Cyrus imap server create? Does it have a fixed
> pool of threads or does it create new threads as and when needed basis?
Cyrus is not threaded. Each connection is handled by an individual imapd
process, which can be reused many times (similar to Apache's prefork
model). The cyrus.conf file can be tuned to control how many processes to
prefork (have ready) and how many total processes will be allowed. The
spare processes pool is grown and shrunk automatically. Again, this is
very similar to Apache's model.
> 4) Is it possible to have multiple connections to the same mailbox?
Hope this helps!
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
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