[rt-users] Speeding up CLI RT::Shredder
Maxwell A. Rathbone
mrathbone at sagonet.com
Mon Nov 23 13:19:02 EST 2009
Hello,
I'm in the same boat as many others I've seen post. We have 35k tickets
in one of our queues that I'm trying to shred(shame on us for not
automating this previously). I've found the web version of the Shredder
to be god-awful slow. We're talking 10min+ just to shred ONE ticket. So
I discovered the command-line /opt/rt3/sbin/rt-shredder utility. I was
then able to shred ONE ticket in about 5 minutes. I found some
optimization keys to add to the tables, which allowed me to them shred
ONE ticket in about a minute. I then discovered(this really should be in
the documentation!), that if you specify a timeframe with rt-shredder,
you can get MUCH faster processing. I was able to get it down to
21seconds for the shredding of ONE ticket.
I noticed it was spitting out warning messages each time it deletes
something. I honestly do not care about the output as long as it is
working as expected, so I hunted through the code and was able to
disable the on-screen logging altogether. I'm now able to shred ONE
ticket in about 8-10 seconds.
For those who are interested in about a 50% reduction in processing time
for the CLI Shredder, edit the file:
/opt/rt3/lib/RT/Shredder/Rercord.pm
Look for this line:
$RT::Logger->warning( $msg );
Comment it so it looks like this:
# $RT::Logger->warning( $msg );
a WORLD of difference from the 10 minutes per ticket I originally was
getting. Now it looks like to shred the 35k might actually take a
palatable amount of time.
I wanted to share this useful information on the list so it is google
searchable. I'm SURE others will find this helpful.
BTW, the command I'm using to shred(again, documentation is kinda poor) is:
./rt-shredder --plugin "Tickets=query,((status = 'deleted' OR status =
'rejected') AND
LastUpdated='2008-10-03');limit,100;with_linked,FALSE;apply_query_to_linked,FALSE"
--force
Max
More information about the rt-users
mailing list