Всем привет.

Хочу обсудить с сообществом наш проект, с помощью которого можно за 1 минуту создать конфигурационный файла MySQL, оптимизированный под производительность. Таким образом можно достаточно быстро создавать конфигурационный файл для первичной оптимизации производительности MySQL.

В сети достаточно много инструкций в виде статей и видео по оптимизации производительности MySQL. Для использования подобных материалов необходимо их прочитать, понять какими параметрами необходимо управлять для увеличения производительности и только после этого вписать в конфигурационный файл необходимые значения.

Так же есть инструмент MySQLTuner, который анализирует текущий статус MySQL и системную информацию, после чего выдает рекомендации по составлению конфигурации, но конфигурационный файл необходимо составлять.

Мы попытались упростить эту задачу, создав проект MySQLConfigurer, с помощью которого можно за 1 минуту создать конфигурационный файл MySQL, учитывающий текущую аппаратную конфигурацию системы и статус MySQL.

MySQLConfigurer это bash скрипт и онлайн сервис, который анализирует рекомендации MySQLTuner, информацию о системе, текущий статус MySQL и подготавливает конфигурационный файл MySQL с рекомендуемыми параметрами, помогающими повысить производительность.

Подробная инструкция об использовании размещена на странице проекта, достаточно выполнить всего 5 шагов:

  1. Скачиваем скрипт, код скрипта простой и его можно посмотреть на github.
  2. Запускаем скрипт.
  3. Получаем конфигурационный файл с рекомендуемым значением параметра есть комментарий в котором указано текущее значение.
  4. Копируем файл в директорию с конфигурационными файлами MySQL.
  5. Перезапускаем MySQL.

Мы провели тесты MySQL с помощью Sysbench на виртуальном сервере с операционной системой Debian 9 (2 CPU, 2GB Ram) на таблице в 10 млн. записей.

Тестирование проводилось на 2 конфигурациях: параметры MySQL по умолчанию и рекомендованные MySQLConfigurer. На каждой конфигурации провели по 2 теста: только чтение и чтение / запись.

Тесты показали увеличение производительности до 30% по сравнению с конфигурацией по умолчанию. Результаты тестов можно посмотреть по ссылке.

Сейчас MySQLConfigurer поддерживает MySQL версий 5.5, 5.6 и 5.7.

Буду благодарен за любую обратную связь по проекту MySQLConfigurer. Спасибо.

Страница проекта