Zimbra notes
General Tuning
- NFS Vmware Netapp: turn off flow control, let high stacks take care of this esp WRT 10GE
- Enable Jumbo Frames - the default standard MTU is 1500 bytes which can result in increased processing. You can increase to 9216 bytes (Jumbo Frame) but this needs to be done on all network devices between the hosts and the storage. You need to read the document on this because failing to set this up properly will result in severe performance penalties. See the attached doc.
Graphing and performance
We should be able to see the status of the mail queues via the amdin interface but it looks like it's broke at ths itme
zmlogs is the name of the service that handles that. FIXME LEARN MORE
How to make charts: http://wiki.zimbra.com/wiki/Zmstats
http://wiki.zimbra.com/wiki/Ajcody-Logging#Internal_Zimbra_Charting_-_zmstat-chart
http://wiki.zimbra.com/wiki/Server_Monitoring
Get server stats via soap:
zmsoap -z -t admin GetServerStatsRequest <GetServerStatsResponse xmlns="urn:zimbraAdmin"> <stat name="account_cache_hit_rate">94.11</stat> <stat name="account_cache_size">64</stat> <stat name="bis_read">0</stat> <stat name="bis_seek_rate">0.00</stat> <stat name="calcache_hit">0.00</stat> <stat name="calcache_lru_size">0.00</stat> <stat name="calcache_mem_hit">0.00</stat> <stat name="cos_cache_hit_rate">92.38</stat> ...
Todo
- indexing jobs lucene
- ldap cache tuning. ( see zmprov fc X , fc = flushcache).
Amavis Tuning
how do we monitor amavis proceses?
make amavis go faster: but amavis on a ram disk http://wiki.zimbra.com/wiki/Performance_Tuning_Guidelines_for_Single-Server_100-500_User_Systems
also see Setting Up "Available Scanner" Checks
changing the number of amavis processes:
as the zimbra user in file ~/conf/ amavisd.conf.in change:
$max_servers = 10; # number of pre-forked children (2..15 is common)
then
zmamavisdctl restart
Innodb cache hit rates and JVM GC rates
Mysql
Tuning
the big one is adjusting max_connections.
Duplicate Mailbox Ids
First find out the id of the galsync account. example
zmprov gmi galsync@domain.com mailboxId: 210
Then use mysql to remove the extra ID's (not the current ID). example:
su - zimbra mysql -e "delete from zimbra.mailbox where id='211';" mysql -e "delete from zimbra.mailbox where id='4');"
mysql -e "delete from zimbra.mailbox where id in (211, 4);" mysql -e "delete from zimbra.mailbox where id !='210';"
You will need to restart mailboxd service to pick up the changes.
% zmmailboxdctl restart