Automated performance-optimized MySQL configuration file creation

Hello everyone.

I want to discuss with the community our project, with which you can create a MySQL configuration file optimized for performance in 1 minute. Thus, you can quickly create a configuration file for the initial optimization of MySQL performance.

There are a lot of instructions on the net in the form of articles and videos on optimizing MySQL performance. To use such materials, you need to read them, understand what parameters need to be controlled to increase productivity, and only then enter the necessary values ​​in the configuration file.

There is also a MySQLTuner tool that analyzes the current status of MySQL and system information, after which it gives recommendations on the configuration, but the configuration file must be compiled.

We tried to simplify this task by creating the MySQLConfigurer project , with which you can create a MySQL configuration file in 1 minute, taking into account the current hardware configuration of the system and the status of MySQL.

MySQLConfigurer is a bash script and online service that analyzes MySQLTuner recommendations, system information, current MySQL status and prepares a MySQL configuration file with recommended parameters to help improve performance.

Detailed instructions for use are available on the project page , just 5 steps to complete:

  1. Download the script, the script code is simple and can be viewed on github.
  2. Run the script.
  3. We get the configuration file with the recommended parameter value, there is a comment that indicates the current value.
  4. Copy the file to the directory with the MySQL configuration files.
  5. Restart MySQL.

We conducted MySQL tests using Sysbench on a virtual server with the Debian 9 operating system (2 CPU, 2GB Ram) on a table of 10 million records.

Testing was carried out on 2 configurations: MySQL default parameters and recommended MySQLConfigurer. On each configuration, 2 tests were performed: read only and read / write.

Tests showed up to 30% performance improvement over the default configuration. Test results can be viewed here .

MySQLConfigurer currently supports MySQL versions 5.5, 5.6 and 5.7.

I would be grateful for any feedback on the MySQLConfigurer project. Thank.

Project page

All Articles