[MDEV-21751] innodb_fast_shutdown=0 can be unnecessarily slow Created: 2020-02-17  Updated: 2023-09-27  Resolved: 2020-06-03

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Fix Version/s: 10.5.4

Type: Task Priority: Major
Reporter: Marko Mäkelä Assignee: Vladislav Vaintroub
Resolution: Fixed Votes: 1
Labels: performance, shutdown

Issue Links:
Problem/Incident
causes MDEV-26511 Innodb - do not allocate purge THDs ... Closed
Relates
relates to MDEV-22577 innodb_fast_shutdown=0 fails to repor... Closed
relates to MDEV-16260 Scale the purge effort according to t... Open
relates to MDEV-16264 Implement a common work queue for Inn... Closed
relates to MDEV-26356 Performance regression after dict_sys... Closed

 Description   

Now that MDEV-16264 replaced the InnoDB purge threads with tasks, it should be possible to increase the purge effort during a slow shutdown (while innodb_fast_shutdown=0 is in effect). Currently, we are using the fixed amount of innodb_purge_threads also during shutdown, even if the server were mostly idle.



 Comments   
Comment by Daniel Black [ 2020-06-04 ]

Thank you wlad

Comment by Vladislav Vaintroub [ 2020-06-09 ]

Apparently, increasing threads did not seem to help much due to contention on the dictionary mutex, but maybe this will help in the future

Comment by Marko Mäkelä [ 2021-08-31 ]

The dict_sys.mutex would be removed in MDEV-24258. That should allow concurrent execution of table lookup in multiple threads, such as those executing purge worker tasks.

Comment by Marko Mäkelä [ 2021-08-31 ]

It looks like MDEV-24258 may cause increased lower-level conflicts between purge workers, because dict_sys.mutex will no longer act as a ‘concurrency throttle’. Some performance regressions were observed before configuring innodb_purge_threads=1.

Generated at Thu Feb 08 09:09:31 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.