[rt-users] RT Large Scale Performance Issues: Resolved

Andrew Armstrong andrew at mammoth.com.au
Tue Jun 26 02:14:04 EDT 2007

Hi Everyone,


We have been making use of RT for almost a year now, however the performance
began to quickly degrade (tickets would take 30+ seconds to open at times)
over time.


We're using RT v3.6.3


After we checked both this list and other resources for a solution, we were
unable to find a solid fix which appeared to correct the issue.


We have managed to change a few core queries to our installation which
appears to have made a massive difference (tickets load in less than one
second most of the time).


We thought others would benefit from these changes and so I am passing on
the findings we made to fix up our RT install.


Force a JOIN order of important tables

>From Nathan at mammoth:


This is lib/RT/SearchBuilder_Local.pm - its a new file which is
automatically used by RT's extension system. We're using 3.6.3


It works by changing the SQL to do a straight join of tables in a specific
order. This appears to improve things because MySQL appears unable to choose
the optimal join order on its own.






This changed file is attached.


Use another locking scheme

By default, it appears the user settings locking scheme (for read/write
locks) by default is done via MySQL (using the GET_LOCK() method). When a
user browses RT.

While this sounds fine, unfortunately its because there is no 'read/shared
lock' concept using GET_LOCK(), and so every lock the user makes (eg,
locking their preferences for READ during a page load) is promoted to an
exclusive write lock. This slows performance when loading multiple pages at
once as every page is competing for this exclusive lock, instead of using a
shared read lock.




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20070626/eaa6a0b0/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SearchBuilder_Local.pm
Type: application/octet-stream
Size: 1368 bytes
Desc: not available
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20070626/eaa6a0b0/attachment.obj>

More information about the rt-users mailing list