[rt-users] RT 3.4.5 slow loading/large query for RT: At a Glance page]
Tim
kruz at chariot.net.au
Wed Feb 22 22:48:59 EST 2006
Jesse Vincent wrote:
>
> On Mon, Feb 20, 2006 at 02:37:33PM +1030, Tim wrote:
>
>> Hi All,
>>
>> I was recently tasked with upgrading RT from 3.0.11 to 3.4.5 for my
>> company, basicaly we use RT to handle all incoming requests from
>> customers as well as internal requests between branches, so the database
>> is very large 650k + tickets from a large number of individual users -
>> pretty much anyone that emails the company on the specified support
>> address.
>>
>> We have a front end box with SearchBuilder 1.38, Apache 2.0.54, mod_perl
>> 2,RT 3.4.5 (p4 2.8 ghz 1.5 gig ram) and a backend box, running the mysql
>> RT database Fedora Core 4, Mysql 4.1.16 (p4 3 ghz 4 gig ram 10k rpm WD
>> raptor drive. The upgrade process was all very smooth ( I dumped the old
>> DB - transferred it to the new server, configured the appropriate my.cnf
>> settings, imported the database and then ran the schema upgrades) and in
>> initial testing everything seemed fine, however when all the support
>> staff started logging on this particular query grinds the server to a
>> halt by maxing out the CPU on the rt-sql server.
>>
>>
>
> Can you tell us how you've tuned and optimized your mysql instance?
>
Ok, basically the only extra index that we have that seems to speed
things along is this one "create index mbowe_MemberId on
CachedGroupMembers(MemberId)"
An analyze was run on all tables.
Interestingly the query that I posted previously seems to be attached to
the "25 Highest priority tickets that I have requested". By disabling
this element from the At a Glance page performance is now quite snappy
with only a small delay when loading the At a Glance page.
Below is the mysqld section of the my.cnf that was used on the new
server before the database import
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 384M
max_allowed_packet = 16M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_type = 1
query_cache_size = 128M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 4
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
# Replication Master Server (default)
# binary logging is required for replication
#log-bin
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/lib/mysql/
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size=1G
innodb_additional_mem_pool_size=20M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size=250M
innodb_log_buffer_size=12M
innodb_flush_log_at_trx_commit=1
innodb_lock_wait_timeout=50
#
# Uncomment the next lines if you want to use them
#set-variable = innodb_thread_concurrency=5
Any suggestions are most welcome =]
More information about the rt-users
mailing list