Ruslan,<div><br></div><div>I wasn't aware that sessions had to be cleared, but now that you mentioned it I looked and there were almost 10k sessions in our table.  I cleared that out and it does not seem to be slow in that section anymore.  I've also added that command to crontab to run daily.</div>
<div><br></div><div>It seems much better after doing that, I don't see any pages taking over 3-4 seconds to load anymore.  I do still see some taking about 2-3 seconds to load.  That is more usable, although I would like to get it better if possible.  I turned on logging of SQL statements in RT only for now, I'm not as familiar with Postgresql as I am with MySQL, but I could look into logging in there if necessary.  </div>
<div><br></div><div>We only have about 5 staff using the RT web interface.  The longest queries I see are still fairly quick I think, but here are a couple examples of the longer ones for Display.html:</div><div><br></div>
<div>[Wed May 30 17:52:44 2012] [debug]: SQL(0.136027s): SELECT  * FROM Groups WHERE LOWER(Domain) = LOWER(?) AND LOWER(Type) = LOWER(?);  [ bound values: 'SystemInternal' 'Privileged' ] (/usr/share/request-tracker4/lib/RT/Interface/Web.pm:1115)</div>
<div><br></div><div>[Wed May 30 17:49:20 2012] [debug]: SQL(0.387888s): SELECT DISTINCT main.* FROM Users main JOIN Principals Principals_1  ON ( Principals_1.id = <a href="http://main.id">main.id</a> ) JOIN CachedGroupMembers CachedGroupMembers_2  ON ( CachedGroupMembers_2.MemberId = Principals_1.id )  WHERE (Principals_1.Disabled = '0') AND (CachedGroupMembers_2.GroupId = '25472') AND (CachedGroupMembers_2.Disabled = '0') AND (LOWER(Principals_1.PrincipalType) = 'user')  ORDER BY main.Name ASC ; (/usr/share/request-tracker4/lib/RT/Interface/Web.pm:1115)<br>
<br>Here is an example summary of a page load (with SQL logging on and Mason profiling off) for Display.html:</div><div><div>48 Queries</div><div>4.1 Seconds page load</div><div>Longest query:</div><div>[Wed May 30 17:56:19 2012] [debug]: SQL(0.118095s): SELECT  * FROM Groups WHERE LOWER(Domain) = LOWER(?) AND LOWER(Type) = LOWER(?);  [ bound values: 'SystemInternal' 'Unprivileged' ] (/usr/share/request-tracker4/lib/RT/Interface/Web.pm:1115)</div>
<div><br></div><div>All other queries < 0.1 seconds, most are < 0.01 seconds</div><div><br></div><div>Thanks,</div><div>Nate</div><div><br></div><div class="gmail_quote">On Wed, May 30, 2012 at 12:09 PM, Ruslan Zakirov <span dir="ltr"><<a href="mailto:ruz@bestpractical.com" target="_blank">ruz@bestpractical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wed, May 30, 2012 at 7:53 PM, Nathan Baker <<a href="mailto:bakern@gmail.com">bakern@gmail.com</a>> wrote:<br>

> Ruslan,<br>
><br>
> I actually started the other thread, so my details are in the first post.<br>
>  That thread was sort of hijacked (no big deal) and getting messy, so I<br>
> wanted to separate them.  I'm using Postgresql, not MySQL, and had already<br>
> turned on the SQL statement log and all queries seemed to be completing<br>
> quickly.<br>
<br>
</div>I know that your thread was hijacked, but this one lacks history and<br>
for me it's hard<br>
to jump between threads to figure out background. Anyway, see comments below.<br>
<br>
Do you log SQL statements on RT side or in Pg? In your case I would recommend<br>
to enable both method for a while.<br>
<div class="im"><br>
> I think I might have been too quick to assume it's the custom fields though,<br>
> I've been testing it for a few hours now and I don't see that part being<br>
> slow anymore.  To be honest the only part I see being consistently slow<br>
> right now is:<br>
><br>
> =Mason= localhost -         /Elements/SetupSessionCookie {{{<br>
> =Mason= localhost -         /Elements/SetupSessionCookie }}} 1.9105<br>
><br>
> That seems to take about 2 seconds on about 30% of page loads.  Is that<br>
> normal?<br>
<br>
</div>Nope. It's either big session size or you don't clean sessions table from old<br>
records with rt-clean-sessions.<br>
<br>
SELECT COUNT(1) FROM sessions;<br>
<br>
Above should say how many records you have in the table.<br>
<br>
Also, sessions are locked and if you click a link or refresh while page<br>
is still loading then time on SetupSessionCookie can contain time it<br>
was waiting for lock to be released by previous request.<br>
<br>
I'm not sure how you're testing. If your DB is actively used by many RT<br>
users then it's hard to tell what's slow.<br>
<div class="im"><br>
> I will try to turn off caching in Postgresql though to see if that verifies<br>
> your theory about slow queries.<br>
<br>
</div>Ah. You migrated to Pg. Caching in Pg is different from mysql.<br>
<br>
> Thanks!<br>
<div class="HOEnZb"><div class="h5">> Nate<br>
<br>
--<br>
Best regards, Ruslan.<br>
</div></div></blockquote></div><br></div>