Configuring MariaDB for optimial performance
This article is to help you configure MariaDB for optimal performance.
Note that by default MariaDB is configured to work on a desktop system and should because of this not take a lot of resources. To get things to work for a dedicated server, you have to do a few minutes of work.
For this article we assume that you are going to run MariaDB on a dedicated server.
Note that this article is not yet complete. Please update this if you have more ideas!
my.cnf files
MariaDB is normally configured by editing the my.cnf file.
The following my.cnf example files are included with MariaDB. Examine them to see more complete examples of some of the many ways to configure MariaDB and use the one that fits you best as a base.
- my-small.cnf
- my-medium.cnf
- my-large.cnf
- my-huge.cnf
InnoDB & XtraDB storage engine
InnoDB or XtraDB is by normally the default storage engine with MariaDB.
- You should set
[[xtradbinnodb-server-system-variables#innodb_buffer_pool_size|innodb_buffer_pool_size]]
to about 80% of your memory. The goal is to ensure that 80 % of your working set is in memory!
Aria Storage engine
- MariaDB uses by default the Aria storage engine for internal temporary files, instead of MyISAM as MySQL does. If you have a lot of temporary files, you should add and set
aria-pagecache-buffer-size
to a reasonable large value (128 meg?) so that temporary overflow data is not flushed to disk. The default value is 16 meg.
MyISAM
- If you don't use MyISAM tables explicitly, you can set key-buffer-size to a very low value, like 64K.
See also
- Server system variables.
- MySQLD options.
- Performance schema helps you understand what is taking time and resources.
- Slow query log is used to find queries that are running slow.
- OPTIMIZE TABLE helps you defragment tables.