This page details the dedicated thread pool in MariaDB Enterprise Server that manages InnoDB background tasks, improving scalability and performance.
Starting with MariaDB Enterprise Server 10.5 and MariaDB Community Server 10.5, InnoDB uses the InnoDB Background Thread Pool to perform internal operations in the background. In previous versions, the internal operations were performed by dedicated threads. By using the InnoDB Background Thread Pool instead of many dedicated threads, InnoDB can reduce context switching and use system resources more effectively.
The InnoDB Background Thread Pool performs internal operations in multiple categories: tasks, timers, and asynchronous I/O.
Tasks are used to perform internal operations that are triggered by some event. In ES 10.5 and later and CS 10.5 and later, the following threads have been replaced by tasks with the InnoDB Background Thread Pool:
The InnoDB Buffer Pool Resize Thread
The InnoDB Buffer Pool Dump Thread
The InnoDB Full-Text Search (FTS) Optimization Thread
Timers are used to perform internal operations that are triggered periodically. In ES 10.5 and later and CS 10.5 and later, the following threads have been replaced by timers with the InnoDB Background Thread Pool:
The InnoDB Master Thread
The InnoDB Defragmentation Thread
The InnoDB Monitor Thread
The InnoDB Error Monitor Thread
Asynchronous I/O is used to read from and write to disk asynchronously. In ES 10.5 and later and CS 10.5 and later, the following threads have been replaced by asynchronous I/O with the InnoDB Background Thread Pool:
The
This page is: Copyright © 2025 MariaDB. All rights reserved.
Thread Pool
InnoDB Background Thread Pool
Storage Engine
InnoDB
Purpose
Handles background tasks for InnoDB
Availability
• ES 10.5+ • CS 10.5+
Understand InnoDB's architecture for MariaDB Enterprise Server. This section details its components and their interactions, focusing on performance, scalability, and reliability for enterprise workloa
Learn about the specialized I/O threads in MariaDB Enterprise Server's InnoDB engine that handle asynchronous read and write operations efficiently.
Starting with MariaDB Enterprise Server 10.5 and MariaDB Community Server 10.5, the InnoDB I/O Threads were replaced by the asynchronous I/O functionality in the InnoDB Background Thread Pool.
This page is: Copyright © 2025 MariaDB. All rights reserved.
Quantity
Set by and
Thread
InnoDB I/O Threads
Storage Engine
InnoDB
Purpose
Reading data from disk / Writing data to disk
Availability
[mariadb]
...
innodb_read_io_threads=8
innodb_write_io_threads=8SET GLOBAL innodb_read_io_threads=8;
SET GLOBAL innodb_write_io_threads=8;
SHOW GLOBAL VARIABLES
LIKE 'innodb_%_io_threads';+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| innodb_read_io_threads | 8 |
| innodb_write_io_threads | 8 |
+-------------------------+-------+