All pages
Powered by GitBook
1 of 3

InnoDB Architecture for MariaDB Enterprise Server

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

MariaDB Enterprise Server InnoDB Background Thread Pool

Overview

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 InnoDB I/O Threads

Feature Summary

Feature
Detail
Resources

Thread Pool

InnoDB Background Thread Pool

Storage Engine

InnoDB

Purpose

Handles background tasks for InnoDB

Availability

• ES 10.5+ • CS 10.5+

MariaDB Enterprise Server

This page is: Copyright © 2025 MariaDB. All rights reserved.

MariaDB Enterprise Server InnoDB I/O Threads

Overview

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.

Feature Summary

Feature
Detail
Resources

Thread

InnoDB I/O Threads

Storage Engine

InnoDB

Purpose

Reading data from disk / Writing data to disk

Availability

MariaDB Enterprise Server

Quantity

Set by innodb_read_io_threads and innodb_write_io_threads

Configure the InnoDB I/O Threads

Basic Configuration

[mariadb]
...
innodb_read_io_threads=8
innodb_write_io_threads=8
SET 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     |
+-------------------------+-------+

This page is: Copyright © 2025 MariaDB. All rights reserved.