MMAP performance and using mmap writes

Bron Gondwana brong at
Fri Nov 30 23:39:25 EST 2018

On Sat, 1 Dec 2018, at 01:32, Дилян Палаузов wrote: 
> Hello, 
> > > 3: if your DB is larger than RAM, writing thru mmap is slower than using write() syscalls. Whenever you 
> > > access a page for the first time, the OS will page it in. This is a wasted I/O if all you're doing is 
> > > overwriting the page with new data. 
> >  
> > I doubt it... especially now we're running on servers with 256Gb of data. These databases are usually under a gigabyte in size. I also don't think we ever overwrite a page without reading from it first - we're usually updating pointers which we've just had to read. 
> >  
> Are there recommendations on RAM for running cyrus imap, that reflect 
> this aspect? 
Yes ram is cheap :P
Seriously though, we budget for 120 bytes per message in open mailboxes, so if you probably want at least 1 gigabyte ram per 100 users on a machine. 
If you turn on conversations support (needed for jmap) I would multiply by 4 to allow for the databases there, though jmap doesn't hold as much in ram between connections. Most of the benefit really comes from caching, particularly if you have data on non SSD storage, so the more the better. 
> Greetings 
>  Dilyan 
 Bron Gondwana, CEO, FastMail Pty Ltd 
 brong at 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Cyrus-devel mailing list