[horde] Horde Implementation Going South

Andrew Morgan morgan at orst.edu
Wed Sep 5 23:55:45 UTC 2007


On Wed, 5 Sep 2007, Dave Cunningham wrote:

>
> I am not familiar with the statistics you refere to or how they would 
> relate to Joins.  Can you expand on this?
>
> I am not sure of the difference between describe and explain.

Have a look at the following MySQL documentation:

   http://dev.mysql.com/doc/refman/5.0/en/explain.html

   http://dev.mysql.com/doc/refman/5.0/en/analyze-table.html


I spent quite a while tuning MySQL for performance.  These are the 
relevant variables in my.cnf:

# * Fine Tuning
#
key_buffer              = 512M
max_allowed_packet      = 16M
thread_stack            = 128K
thread_cache_size       = 8
max_connections         = 400
table_cache             = 512
#thread_concurrency     = 10
read_buffer_size        = 2M
#
# * Query Cache Configuration
#
query_cache_limit       = 1M
query_cache_size        = 32M
query_cache_type        = 1

log_bin                 = /var/log/mysql/mysql-bin.log
expire_logs_days        = 1
max_binlog_size         = 100M
binlog_cache_size       = 256K
binlog_ignore_db        = sessions

innodb_additional_mem_pool_size = 10M
innodb_buffer_pool_size = 1G
innodb_file_per_table   = 1
innodb_log_buffer_size  = 8M
innodb_log_file_size    = 50M


If you haven't ever run ANALYZE TABLE, then you should see a big 
difference running EXPLAIN SELECT ... before and after ANALYZE TABLE.  The 
query plan will be very different (it was for me)!

> I was initially running session in MYSQL.  But, that was SOOO slow that 
> I immediately disabled it, went back to php sessions and put them in 
> /dev/shm.

If you only have 1 webmail server, then using php sessions would be fine. 
Memcache is nice if you have multiple webmail servers.

 	Andy


More information about the horde mailing list