[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