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. Regards Nathan -- 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. Regards, Andrew
SearchBuilder_Local.pm
Description: Binary data
_______________________________________________ http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users Community help: http://wiki.bestpractical.com Commercial support: [EMAIL PROTECTED] Discover RT's hidden secrets with RT Essentials from O'Reilly Media. Buy a copy at http://rtbook.bestpractical.com
