← Back to team overview

percona-discussion team mailing list archive

Re: purge performance for innodb

 

Mark,

We did not look into this at all.

MARK CALLAGHAN wrote:
> Dimitri made a comment about purge (non) performance in Innodb. I
> ignore this most of the time as my workloads don't have many deletes
> -- which creates other problems from too large tables. I looked at the
> code and this won't be easy to fix. Does Percona have any work in
> progress?
> 
> 1) trx_purge() is run once per 10 seconds by the main background IO
> thread in srv0srv.c
> 2) trx_purge() holds kernel_mutex which is already too hot
> 
> I quickly browsed the code and I think that it scans log pages,
> collects rows to purge in an array, makes a pass on the array and
> deletes the rows. The last step should be the slow one because of
> random IO. If we change that to make two passes on the array (issue
> prefetch read for the pages on the first pass, remove the row on the
> second pass) then this might be faster.
> 
> But I haven't put much time into this and I wonder if anyone else has.
> 


-- 
Vadim Tkachenko, CTO
Percona Inc.
ICQ: 369-510-335, Skype: vadimtk153, Phone +1-888-401-3403
MySQL Performance Blog - http://www.mysqlperformanceblog.com
MySQL Consulting http://www.percona.com/



References