I'm trying to...Well, I did install and currently have running Zimbra 5.05 (using the zcs-5.05_GA_2201.UBUNTU8.FRANKLIN package, thanks).
I am running this for my wife and I, and maybe one or two more people in the future--a *really* small installation, and I am running this on a friends VMware Server (server, not ESX at this time). Accordingly I would like to reduce the
memory footprint as much as possible.
Right now I have 512MiB assigned, and it *almost* seems enough, but it starts paging out pretty quickly and eventually (for very short values of eventually) the IMAP server stops responding.
I would like to try tuning the memory usage somewhat based on my projected user base (5 people MAX) and usage patterns (I use it heavily, my wife not so much. The other users won't be heavy users probably, and in a year or so I can move this to a swerver with more memory).
I realize that these are untested and ill advised solutions, but I also want to see if I can make a go of it.
Here the low hanging fruit I've found so far, and I'd like some feedback on these changes and any other suggestions.
Change $max_servers=10 to $max_servers=3.
In httpd.conf change
StartServers 5 to StartServers 2,
MinSpareServers 5 to MinSpareServers 2
MaxSpareServers 10 to MaxSpareServers 4
MaxClients 150 to MaxClients 15
I suspect that these would be both the most contentious and the most useful changes:
In my.cnf change:
thread_cache = 50 to thread_cache = 25
sort_buffer_size = 1048576 to sort_buffer_size = 262144
read_buffer_size = 1048576 to read_buffer_size = 262144
table_cache = 500 to table_cache = 50
innodb_buffer_pool_size = 58936320 to innodb_buffer_pool_size = 10485760
innodb_log_buffer_size = 8388608 to innodb_log_buffer_size = 1048576
In slapd.conf change:
threads 8 to threads 4
cachesize 10000 to cachesize 1000
idlcachesize 1000 to idlcachesize 100
There also seems to be some knobs (working backwards from the "Performance Tuning Guidelines for Large Deployments" document. Would be nice to have one for Small Deployments/Hobby users) I can twist using zmlocalconfig, for example this:
$ zmlocalconfig -e mailboxd_java_options="-client \
might save some memory at a slight performance hit, but I'm not sure I want to go poking with that stick without knowing what I'm doing.
Also it looks like I might be able to reduce the index writers for Lucene, but again, there may be dragons here and my nomex suit is a little threadbare.