On May 29, 2012, at 4:54 PM, Darren Nickerson wrote:
>
> We're seeing similar performance regression after an upgrade from 4.0.0rc5 to
> 4.0.5. I just loaded a very short ticket for the first time, it took 16
> seconds. I did a reload on the page, and it took less than 2 seconds. I also
> went to Tickets -> New Search, and it took a full 20 seconds to load.
> Subsequent reloads of that page were essentially immediate. Within 10 minutes
> of not using RT much, opening a few tickets etc but then letting it sit idle
> for 10 minutes, going back to Tickets->New Search once again took 20 seconds
> to load, and was fast on subsequent loads
>
> Have I misconfigured or broken some cache mechanism?
>
> Our support staff have complained of a variety of long hangs/pauses like this
> and I still haven't pinned it down enough much more than I outline above. Our
> setup is very vanilla, MySQL with very little customization of RT ... if
> there's instructions anywhere on how to figure out what's consuming all the
> time I'd be happy to dig into it and report back here. I've been meaning to
> try some of the other ways to invoke RT, we're using apache+FastCGI right
> now, but there just hasn't been time. Perhaps the next time I'm waiting for
> query builder to load ... ;-)
I enabled the profiler per Ruslan's advice, and loaded the new search page. It
took over 20 seconds. It generated a lot of output, should I include it all
here? I think the relevant bit might be:
=Mason= localhost -
/Elements/SelectOwnerDropdown {{{
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0021
=Mason= localhost - /Elements/ShowUser }}}
0.0045
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0020
=Mason= localhost - /Elements/ShowUser }}}
0.0042
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0018
=Mason= localhost - /Elements/ShowUser }}}
0.0038
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0018
=Mason= localhost - /Elements/ShowUser }}}
0.0037
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0019
=Mason= localhost - /Elements/ShowUser }}}
0.0038
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0019
=Mason= localhost - /Elements/ShowUser }}}
0.0038
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0019
=Mason= localhost - /Elements/ShowUser }}}
0.0038
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0019
=Mason= localhost - /Elements/ShowUser }}}
0.0038
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0019
=Mason= localhost - /Elements/ShowUser }}}
0.0038
=Mason= localhost - /Elements/ShowUser {{{
=Mason= localhost -
/Elements/ShowUserVerbose {{{
=Mason= localhost -
/Elements/ShowUserVerbose }}} 0.0019
=Mason= localhost - /Elements/ShowUser }}}
0.0042
=Mason= localhost -
/Elements/SelectOwnerDropdown }}} 20.9869
I'm not sure how we get from all those small values to 20 seconds, but it does
seem to represent the lion's share of the slow-down. The last few lines look
like:
=Mason= localhost - /Search/Build.html }}} 21.7671
=Mason= localhost - /Elements/Footer {{{
=Mason= localhost - /Elements/Footer }}} 0.0030
=Mason= localhost - /autohandler }}} 21.7901
=Mason= localhost - /Search/Build.html }}} ENDS
So it would seem the SelectOwnerDropdown timer of 20.9869 represents most of
the delay ...
-Darren