[horde] Horde Problems Getting Better, but MYSQL still an issue

Dave Cunningham dcunningham at meccorp.mec.edu
Thu Sep 6 19:25:01 UTC 2007


My mysql database just gets thoroughly pinned.  I've tried a bunch of things mentioned so far on this list, but nothing seems to have solved the problem yet.  The mysql process still shows a failry consistant 150 to 200% CPU (dual cpu) usage in top.

I have tried converting to InnoDB to allow row locking.  But, I'm wondering if I have to do something else to get my queries to lock rows rather than whole tables.  Is this something that mysql figures out on it's own, or is it something I have to set or edit in the queries?  I would think the indexes should help it figure out to only lock certain rows, but things have not improved much with tweaking.

I have two implementations of horde.  One server has one instance of horde running on it, with about 1000-1500 active sessions.  This one horde instance has one database for all 1500 sessions.  I have a second server that has about 2 dozen virtual hosts, each running a separate instance of horde.  Each instance has it's own database.  The total usage is again around 1000-1500 sessions.  However, the load on the database server is WAY smaller (about 1/8 -1/4 of the CPU usage).  I figure this is because the various aspects of the datatree are split for each instance over many databases.  So, each datatree join is FAR smaller than the single implementation.  Anyone agree, disagree, or better, have a solution to help?

Here is my my.cnf:

[mysqld]
query_cache_size=1024M
max_allowed_packet = 2048M
max_connections = 2000
key_buffer_size=160M
join_buffer_size=64M
table_cache=1024M
sort_buffer_size=128M
net_buffer_length=8M
myisam_sort_buffer_size=128M
read_buffer_size=64M
thread_cache_size=1024M
read_rnd_buffer_size=32M
tmp_table_size=64M
record_buffer=64M
log-slow-queries=/var/log/mysql_slow_queries.log
long_query_time = 10
# InnoDB settings
innodb_data_home_dir =/var/lib/mysql/
innodb_data_file_path = ibdata1:100M:autoextend
innodb_log_file_size=1024M
set-variable = innodb_buffer_pool_size=2048M
set-variable = innodb_additional_mem_pool_size=200M
innodb_flush_log_at_trx_commit=0

Thanks guys,

Dave


More information about the horde mailing list