[rt-users] Speeding up RT3

Jesse Vincent jesse at bestpractical.com
Sat Oct 23 01:35:31 EDT 2004


> Sorry yes, I wrote out these answers first, but then forgot to send it
> :)
> 
> Almost all the queries appear to be on the acl, eg
> 
> SELECT * FROM ( SELECT limitquery.*,rownum limitrownum FROM ( SELECT
> ACL.id from ACL, Groups, Principals, CachedGroupMembers WHERE
> (ACL.RightName = 'SuperUser' OR  ACL.RightName = 'ShowTicket') AND
> Principals.Disabled = 0 AND CachedGroupMembers.Disabled = 0  AND
> Principals.id = Groups.id AND  Principals.id =
> CachedGroupMembers.GroupId AND CachedGroupMembers.MemberId = '174' AND (
> ACL.ObjectType = 'RT::System' OR (ACL.ObjectType = 'RT::Ticket' AND
> ACL.ObjectId = '1062173') OR (ACL.ObjectType = 'RT::Queue' AND
> ACL.ObjectId = '7')) AND ( (  ACL.PrincipalId = Principals.id AND
> ACL.PrincipalType = 'Group' AND (Groups.Domain = 'SystemInternal' OR
> Groups.Domain = 'UserDefined' OR Groups.Domain = 'ACLEquivalence' OR
> Groups.Domain = 'Personal')) )  ) limitquery WHERE rownum <= 1 ) WHERE
> limitrownum >= 1 
> 
> 
> Something I should mention is I've edited the quicksearch Element to
> have 4 columns, "new","Open","stalled" and "all". Which will effect the
> query numbers.


Well, yes. That will roughly double the number of queries we're doing
there. I do expect that will negatively impact performance.

> Acls are mostly per queue.
 
Switching to global acls where they make sense will also help
performance.


> From what I can see though, most of the time is spent doing things other
> than waiting on the database,
> 
> An example from the index.html page (25 queues, non superuser)
> 
> Time to display: 5.843325
> Time in Database: 1.678154


And how much time _in_ RT code?

I expect that you'll have a lot of additional overhead when sending data
from the DB.

There's a whole bunch of ACL precaching we could if you folks wanted to
contact me off list about development work.

> Number of Query: 231
> 
> 
> 
> Where is 3.2-HEAD  (not very used to subversion)
> 
> -bash-2.05b$ svn co svn://svn.bestpractical.com/rt/branches/3.2-HEAD
> svn: URL 'svn://svn.bestpractical.com/rt/branches/3.2-HEAD' doesn't
> exist

/branches/3.2-RELEASE

> I can come up with some specifics if its more helpful (eg, just load
> index.html and then Exit )

More useful is a controlled set of 20 queries of the homepage, spaced 30
seconds apart.

Jesse
-- 



More information about the rt-users mailing list