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 >= 1Something 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