percona-discussion team mailing list archive
-
percona-discussion team
-
Mailing list archive
-
Message #00655
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