Hi!
I am currently deploying Roundcube as the main webmailer for my university. So far my beta-tests with a select group of users have been very positive.
But before I push Roundcube on all my users who use webmail I wondered about the caching feature.
When do I use the index cache? And how do I cache? Inside my MySQL database or via a memcached instance?
My webmail service does not run on the same server as the IMAP service but on a different VM and in a different network but RTT between both is below 2ms.
The documentation mentions that caching may even reduce performance in some situations but does not specify which situations. So far I have not be able to experience any slowdowns or speedups while using the index cache so I don't know if I gain anything by using or not-using it.
Can anyone share any experience with the cache feature to help me decide.
Grüße, Sven.
On 08/27/2014 02:26 PM, Sven Hartge wrote:
The documentation mentions that caching may even reduce performance in some situations but does not specify which situations. So far I have not be able to experience any slowdowns or speedups while using the index cache so I don't know if I gain anything by using or not-using it.
Depends on what imap server are you using and the mailbox sizes. On small mailboxes (number of messages, number of folders) you might not notice. Also, do not forget that some imap servers like dovecot do caching on their own and in general SORT, THREAD, LIST, LSUB, STATUS commands are fast.
Using cache in big deployments might be a kind of load balancing, because you take over some load from IMAP to DB.
A.L.E.C alec@alec.pl wrote:
On 08/27/2014 02:26 PM, Sven Hartge wrote:
The documentation mentions that caching may even reduce performance in some situations but does not specify which situations. So far I have not be able to experience any slowdowns or speedups while using the index cache so I don't know if I gain anything by using or not-using it.
Depends on what imap server are you using and the mailbox sizes.
Courier is the IMAP server right now (moving to Dovecot in the future). Concerning mailbox sizes: some users have ridiculous amounts of mails in their INBOX or any other folder. Talk about 20000 and more. But we tell those uses to use a real mail client like Thunderbird and that our webmail service is not the right thing for them.
Using cache in big deployments might be a kind of load balancing, because you take over some load from IMAP to DB.
I think I will need to test then.
Any suggestions on the kind of cache? memcached, apc or mysql-db? If memcached, how do I determine the most usefull size of the cache?
Right now we are using Squirrelmail which does not have any cache for optimization, so if things don't get worse than that with Roundcube (with or without cache), things will be fine.
Grüße, Sven.