Zarafa server tuning

From Zarafa wiki

Jump to: navigation, search

In a server purely running Zarafa, you want to setup these caches to use around 80% of the RAM in your server. The other 20% should be free for system processes, other processes (like your MTA) and the webserver.


For a general rule-of-thumb, you should use to following RAM distribution:

  • cell cache: around 25% of total RAM size
  • object cache: 16-64 Mb
  • indexedobject cache: 16-128 Mb


Zarafa's cell cache (cache_cell_size) Size in bytes of the cell cache. This is the main cache used in Zarafa. It caches all data that comes into view in tables (ie the view of your inbox, or any other folder). In an ideal situation, all cells would be cached, so that the database does not need to be queried for data when browsing through folders, but this would require around 1.5K per message item (e-mail, appointment task, etc) in the entire server. If you can afford it, set this value as high as possible, up to 50% of your total RAM capacity. Make sure this doesn´t lead to swapping though.

Zarafa's object cache (cache_object_size) This caches objects and their respective hierarchy of folders. You can calculate the size with a simple equation: Concurrent users * max items in a folder * 24 Default: 5242880 (5 Mb)

Zarafa indexedobject cache (cache_indexedobject_size) This cache contains unique id´s of objects.


These cache settings need to be configured in the /etc/zarafa/server.cfg.
For more information about MySQL tuning, see MySQL tuning

To get the cache statistics from the zarafa-server process, you can send the USR1 signal to the server process.

 killall -SIGUSR1 zarafa-server

This will report the cache statistics in the /var/log/zarafa/server.log

Personal tools