Re: Cyrus Patches used at FastMail.FM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I know we discussed this in the past, but I can't seem to find the thread. What part of the existing STATUS code causes the bottleneck?

Is it STATUS_RECENT and STATUS_UNSEEN?

It's a combination of both. The main things are:

1. Status UNSEEN and RECENT both have to loop over the cyrus.index file. With users with many folders and large message counts that don't change that often, it doesn't stop their IMAP clients issuing a STATUS call on every folder every 5 minutes. On a busy server, even with lots of memory the system disk cache will be completely flushed over a 5 minute period, so these STATUS calls cause every cyrus.index file to be re-read into memory. Given most folders don't change that often, with the cache these STATUS calls are serviced without having to read the cyrus.index file at all.

2. Status UNSEEN was particularly slow with large seen sequences. The "fastindex" patch mostly fixes that is it's not as much of an issue any more.

Rob

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

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux