RT bottlenecks

I’ve been informed that some are beginning to complain about the speed
of RT when it comes to loading tickets that contain attachments. This
has led to the question of distributed computing in the way of load
balancing. I’d like to avoid moving in this direction with RT as we
don’t have the need for it. Our user base is small as is our ticket count.

It would seem that most of the bottleneck comes from actually loading
the page. I’ve found that tickets with numerous transactions (exact
number not known) tend to be slow to load even without attachments.

How should I go about pinpointing the bottleneck so I can find a
solution that won’t require a major tech refresh?

Mathew
Keep up with my goings on at http://theillien.blogspot.com

What database backend are you using? We noticed a slowdown right around
10k tickets, and we have a Postgres backend. One command that we found
useful was the vacuum command, which increased our performance
significantly.

Mathew wrote:

I’ve been informed that some are beginning to complain about the speed
of RT when it comes to loading tickets that contain attachments. This
has led to the question of distributed computing in the way of load
balancing. I’d like to avoid moving in this direction with RT as we
don’t have the need for it. Our user base is small as is our ticket count.

It would seem that most of the bottleneck comes from actually loading
the page. I’ve found that tickets with numerous transactions (exact
number not known) tend to be slow to load even without attachments.

How should I go about pinpointing the bottleneck so I can find a
solution that won’t require a major tech refresh?

Mathew

Chris Nelson
CDA Unix Administrator
NightHawk Radiology Services
250 Northwest Blvd. #206
Coeur D’Alene, ID 83814

208.415.0588 (Office)
509.294.1835 (Cell)
208.664.2720 (Fax)
cnelson@nighthawkrad.net (email)
http://www.nighthawkrad.net (Web)

CONFIDENTIALITY NOTICE: This email, including any attachments, contains information from NightHawk Radiology Services, which may be confidential or privileged. The information is intended to be for the use of the individual or entity named above. If you are not the intended recipient, be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. If you have received this email in error, please notify NightHawk Radiology Services immediately by forwarding message to support@nighthawkrad.net and destroy all electronic and hard copies of the communication, including attachments.

We’re using MySQL 5 and have around 70k tickets.

Keep up with my goings on at http://theillien.blogspot.com

Chris Nelson wrote:

Matthew;
What version of RT are you using?
With > 3.6.1, I noticed slowness with transaction custom fields queries,
if you do not use them try and comment out the following lines from
html/Ticket/Elements/ShowTransaction

%# if ($Transaction->CustomFieldValues->Count) {
%# <& /Elements/ShowCustomFields, Object => $Transaction &>
%#}

You may find tickets display quicker --but again do this if you do not
use Transaction CF’s–

Regards;
Roy

Mathew wrote:

Matthew;
What version of RT are you using?
With > 3.6.1, I noticed slowness with transaction custom fields queries, if
you do not use them try and comment out the following lines from
html/Ticket/Elements/ShowTransaction

%# if ($Transaction->CustomFieldValues->Count) {
%# <& /Elements/ShowCustomFields, Object => $Transaction &>
%#}

You may find tickets display quicker --but again do this if you do not use
Transaction CF’s–

Regards;
Roy

Mathew wrote:

I’ve been informed that some are beginning to complain about the speed
of RT when it comes to loading tickets that contain attachments. This
has led to the question of distributed computing in the way of load
balancing. I’d like to avoid moving in this direction with RT as we
don’t have the need for it. Our user base is small as is our ticket
count.

It would seem that most of the bottleneck comes from actually loading
the page. I’ve found that tickets with numerous transactions (exact
number not known) tend to be slow to load even without attachments.

How should I go about pinpointing the bottleneck so I can find a
solution that won’t require a major tech refresh?

Mathew

Roy and Mathew,

One technique that I found to be useful was to trim the amount of
transactions actually being displayed. I added another widget similar
to the one for changing the ticket display order from top-to-bottom
or bottom-to-top. It was called “brief headers” and when it was
selected, a filtered list of transactions was displayed. This made
a big difference in the draw time. The DB access was not the bottleneck
unless a particular user had many recent tickets to list in the “More
about …” section of the ticket display.

Regards,
Ken

Version 3.6.1 actually. I’ll give it a try though and see what happens.
I know there is a benchmarking method that was explained in the RT
training I attended so I’ll look in my documentation and see what I find
for that.

Keep up with my goings on at http://theillien.blogspot.com

Roy El-Hames wrote:

Matthew;
If you have any benchmarking techniques , can you share them please I’ll
be interested in how to monitor RT activities.
Regards;
Roy

Mathew wrote:

Re-write your wget command to use '–load-cookies '. If that file
doesn’t exist or the login fails, run ‘wget --save-cookies
–keep-session-cookies’ then re-run your initial check. If you are
using nagios you can setup the second part as an event handler,
otherwise you’ll have to write that logic into whatever you’re using.

.Robert Long
Blue Gecko Inc.
(206) 686-3349

Ham MI-ID, Torsten Brumm wrote:

Hi All,

I had RT 3.4.1 with MySql 4.1.20 … I installed/configured new box with
RT 3.6.4/Oracle XE …We imported the data from OLD MysSql to Oracle XE.
RT is working mostly fine from the web interface but I am getting errors
on TWO areas ( Configuration - Global - User Rights and /
Configuration - Global - RT at a glance )…

Also, I get princiapal overlay error on /var/log/messages file (enclosed
below)…

Any ideas

Thanks

RT: Found a principal () that was neither a user nor a group
/opt/rt3/lib/RT/Principal_Overlay.pm:12
9)

RT Error - Configuration - Global - User Rights
System error
error: Can’t call method “Name” on an undefined value at
/opt/rt3/share/html/Admin/Global/UserRights.html line 66, line
10.
context: …
62: % my $group = RT::Group->new($session{‘CurrentUser’});
63: % $group->LoadACLEquivalenceGroup($Member->MemberObj);
64:


65:
66: <% $UserObj->Name %>
67:
68:
69: <& /Admin/Elements/SelectRights, PrincipalId =>
$group->PrincipalId,
70: Object => $RT::System &>

code stack: /opt/rt3/share/html/Admin/Global/UserRights.html:66
/opt/rt3/share/html/Widgets/TitleBox:51
/opt/rt3/share/html/Admin/Global/UserRights.html:76
/opt/rt3/share/html/Admin/autohandler:49
/opt/rt3/share/html/autohandler:291

RT Error - Configuration - Global - RT at a glance

System error
error: Can’t call method “Content” on an undefined value at
/opt/rt3/share/html/Admin/Global/MyRT.html line 97, line 10.
context: …
93: my ( $conf, $pane ) = @_;
94: $default_portlets->SetContent( $conf );
95: push @actions, loc( 'Global portlet [1] saved.’, $pane );
96: }
97: );
98:
99: $m->comp( ‘/Widgets/SelectionBox:process’, %ARGS, self => $
,
nojs => 1 )
100: for @panes;
101:

code stack: /opt/rt3/share/html/Admin/Global/MyRT.html:97
/opt/rt3/share/html/Admin/autohandler:49
/opt/rt3/share/html/autohandler:291

Hi All,

I had RT 3.4.1 with MySql 4.1.20 … I installed/configured new box with
RT 3.6.4/Oracle XE …We imported the data from OLD MysSql to Oracle XE.
RT is working mostly fine from the web interface but I am getting errors
on TWO areas ( Configuration - Global - User Rights and /
Configuration - Global - RT at a glance )…

Also, I get princiapal overlay error on /var/log/messages file (enclosed
below)…

Any ideas

Thanks

RT: Found a principal () that was neither a user nor a group
/opt/rt3/lib/RT/Principal_Overlay.pm:12
9)

RT Error - Configuration - Global - User Rights
System error
error: Can’t call method “Name” on an undefined value at
/opt/rt3/share/html/Admin/Global/UserRights.html line 66, line
10.
context: …
62: % my $group = RT::Group->new($session{‘CurrentUser’});
63: % $group->LoadACLEquivalenceGroup($Member->MemberObj);
64:


65:
66: <% $UserObj->Name %>
67:
68:
69: <& /Admin/Elements/SelectRights, PrincipalId =>
$group->PrincipalId,
70: Object => $RT::System &>

code stack: /opt/rt3/share/html/Admin/Global/UserRights.html:66
/opt/rt3/share/html/Widgets/TitleBox:51
/opt/rt3/share/html/Admin/Global/UserRights.html:76
/opt/rt3/share/html/Admin/autohandler:49
/opt/rt3/share/html/autohandler:291

RT Error - Configuration - Global - RT at a glance

System error
error: Can’t call method “Content” on an undefined value at
/opt/rt3/share/html/Admin/Global/MyRT.html line 97, line 10.
context: …
93: my ( $conf, $pane ) = @_;
94: $default_portlets->SetContent( $conf );
95: push @actions, loc( 'Global portlet [1] saved.’, $pane );
96: }
97: );
98:
99: $m->comp( ‘/Widgets/SelectionBox:process’, %ARGS, self => $
,
nojs => 1 )
100: for @panes;
101:

code stack: /opt/rt3/share/html/Admin/Global/MyRT.html:97
/opt/rt3/share/html/Admin/autohandler:49
/opt/rt3/share/html/autohandler:291