[MDEV-11024] Make number of purge threads variable dynamic Created: 2016-10-11  Updated: 2023-04-11  Resolved: 2023-04-11

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Storage Engine - XtraDB
Fix Version/s: 10.7.0

Type: Task Priority: Major
Reporter: Jan Lindström (Inactive) Assignee: Marko Mäkelä
Resolution: Duplicate Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MDEV-26520 Make innodb_purge_threads settable wi... Closed
Relates
relates to MDEV-11802 innodb.innodb_bug14676111 fails in bu... Closed

 Description   

Currently number of purge threads is static variable and require server shutdown and restart to be able to change. This should be changed to dynamic variable.



 Comments   
Comment by Marko Mäkelä [ 2018-01-22 ]

I think that instead of doing this, we should benchmark and evaluate the current architecture. Could the interplay between the purge coordinator and worker threads be improved? A simpler architecture could as a side effect fix MDEV-11802.

For a benchmark, I would suggest something like the following:

START TRANSACTION WITH CONSISTENT SNAPSHOT; -- stops purge
-- run a well defined load of INSERT, UPDATE, DELETE (no ROLLBACK) in other connections
COMMIT; -- releases purge
-- then, repeat the following until History list length reaches 0, and measure the time
SHOW ENGINE INNODB STATUS;

During the last phase it would also be beneficial to run perf record or similar, to see where the time is being spent. It would also be useful to monitor the CPU usage with top or similar, to see if purge is actually running as fast as possible on an otherwise idle system, until there is no work to do.

Comment by Marko Mäkelä [ 2023-04-11 ]

This ticket was duplicated as MDEV-26520 several years ago.

Generated at Thu Feb 08 07:46:43 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.