How MySQL and MariaDB Perform on NVMe Storage

July 30, 2020
Author
Vadim Tkachenko
Share this Post:

MariaDB no longer meeting your needs?

Migrate to Percona software for MySQL – an open source, production-ready, and enterprise-grade MySQL alternative.

Learn More

MySQL MariaDB NVMe
MySQL and MariaDB on NVMe Storage – The Great Equalizer

Continuing the checkpointing series—previously covering MongoDB, PostgreSQL, and MySQL and MariaDB on Enterprise SSD Storage—this post looks at performance on NVMe storage.

Benchmark

To evaluate MariaDB and MySQL, sysbench-tpcc with 1000 warehouses was used.

Storage: Intel SSD DC P4610 NVMe (up to ~222k write IOPS, ~638k read IOPS).

Settings

  • Dataset ~100GB (fits in memory)
  • Buffer pool: 140GB
  • Write-heavy workload (ACID compliant)
  • innodb_io_capacity = 15000
  • innodb_io_capacity_max = 20000

Benchmark command:

The benchmark runs for ~3 hours, reporting every second.

Results

MySQL NVMe Storage

Long-duration runs reveal internal behavior. MariaDB stabilizes after ~2500 seconds, showing a U-shaped recovery pattern after warm-up.

MySQL also shows variability. A 1-minute moving average clarifies trends:

MariaDB NVMe Storage

MySQL still shows periodic dips, but far less severe than on SATA SSD. NVMe appears more tolerant of I/O spikes.

Disclaimer: MariaDB 10.5.4 developers indicated upcoming performance fixes in later releases.

See also: MariaDB 10.5.5 performance improvements.

Final Thoughts

NVMe storage is a strong choice for improving database performance, especially when handling high I/O workloads.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Far
Enough.

Said no pioneer ever.
MySQL, PostgreSQL, InnoDB, MariaDB, MongoDB and Kubernetes are trademarks for their respective owners.
© 2026 Percona All Rights Reserved