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

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.
To evaluate MariaDB and MySQL, sysbench-tpcc with 1000 warehouses was used.
|
1 2 3 4 5 6 7 |
System | Supermicro SYS-F619P2-RTN Platform | Linux Release | Ubuntu 18.04.4 LTS Kernel | 5.3.0-42-generic Architecture | 64-bit Processors | physical = 2, cores = 40, virtual = 80 Memory | 187.6G |
Storage: Intel SSD DC P4610 NVMe (up to ~222k write IOPS, ~638k read IOPS).
Benchmark command:
|
1 |
./tpcc.lua --mysql-host=127.0.0.1 --mysql-user=sbtest --mysql-password=sbtest --mysql-db=sbtest --time=10000 --threads=56 --report-interval=1 --tables=10 --scale=100 --use_fk=0 --mysql_table_options='DEFAULT CHARSET=utf8mb4' prepare |
The benchmark runs for ~3 hours, reporting every second.

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:

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.
NVMe storage is a strong choice for improving database performance, especially when handling high I/O workloads.