[rt-users] RTx-Shredder speed (or lack of!)

Tim Cutts tjrc at sanger.ac.uk
Thu Nov 27 08:45:06 EST 2008


On 27 Nov 2008, at 1:14 pm, Howard Jones wrote:

> I've just been running RTx-Shredder for the first time in quite a  
> while,
> and I get *really* slow speeds out of it... 67 minutes to delete 10
> tickets. I'm sure I remember doing 1000s in a day with a previous  
> version.
>
> RT itself is quite responsive, so I don't think it's a general  
> server issue.
>
> I'm using
>   time ./rtx-shredder  --plugin  
> 'Tickets=queue,probablespam;status,deleted'
> and I get offered 10 tickets to delete, and then much later:
>   real    67m38.004s
>   user    0m8.891s
>   sys     0m0.320s
>
> Is there something I should be looking at here? A missing index or
> something? I can see that my Attachments and CachedGroupMembers tables
> have ~3M rows, for example.
>
> Thanks for any pointers...

Yes, it does take a lot of time, because the sorts of queries it makes  
are not "normal" for RT, so there are no indices.  I believe in 3.8  
much of this has been addressed, but certainly in 3.4 I have had to  
add a lot of extra indices to make Shredder go faster (and even after  
all that it's still fairly slow, but at least now I can delete several  
hundred tickets an hour, when necessary)

I created five indexes on the Transactions table, in particular:

| Transactions |          1 | tjrc_hack1    |            1 |  
OldReference  | A         |          17 |     NULL | NULL   | YES  |  
BTREE      |         |
| Transactions |          1 | tjrc_hack1    |            2 |  
ReferenceType | A         |          17 |     NULL | NULL   | YES  |  
BTREE      |         |
| Transactions |          1 | tjrc_hack2    |            1 |  
NewReference  | A         |      285372 |     NULL | NULL   | YES  |  
BTREE      |         |
| Transactions |          1 | tjrc_hack2    |            2 |  
ReferenceType | A         |      285372 |     NULL | NULL   | YES  |  
BTREE      |         |
| Transactions |          1 | tjrc_hack3    |            1 |  
OldValue      | A         |      109758 |     NULL | NULL   | YES  |  
BTREE      |         |
| Transactions |          1 | tjrc_hack3    |            2 |  
Type          | A         |      109758 |     NULL | NULL   | YES  |  
BTREE      |         |
| Transactions |          1 | tjrc_hack4    |            1 |  
NewValue      | A         |       13719 |     NULL | NULL   | YES  |  
BTREE      |         |
| Transactions |          1 | tjrc_hack4    |            2 |  
Type          | A         |       13719 |     NULL | NULL   | YES  |  
BTREE      |         |
| Transactions |          1 | tjrc_hack5    |            1 |  
Creator       | A         |       10119 |     NULL | NULL   |      |  
BTREE      |         |

Basically, I created these by logging into the RT database with mysql  
while running RTx-Shredder, and watching which queries were taking a  
long time, running EXPLAIN on them and then adding appropriate indexes  
to stop the full table scans which were going on.

I also added two indexes to CachedGroupMembers:

| CachedGroupMembers |          1 | tjrc_hack1 |            1 |  
ImmediateParentId | A         |      592001 |     NULL | NULL   | YES   
| BTREE      |         |
| CachedGroupMembers |          1 | tjrc_hack1 |            2 |  
MemberId          | A         |      592001 |     NULL | NULL   | YES   
| BTREE      |         |
| CachedGroupMembers |          1 | tjrc_hack2 |            1 |  
Via               | A         |      592001 |     NULL | NULL   | YES   
| BTREE      |         |
| CachedGroupMembers |          1 | tjrc_hack2 |            2 |  
id                | A         |      592001 |     NULL | NULL   |       
| BTREE      |         |

And a Creator index on Attachments:

| Attachments |          1 | tjrc_creator |            1 |  
Creator       | A         |        1634 |     NULL | NULL   |      |  
BTREE      |         |

Regards,

Tim


-- 
 The Wellcome Trust Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 



More information about the RT-Users mailing list