Хочу обсудить с сообществом наш проект, с помощью которого можно за 1 минуту создать конфигурационный файла MySQL, оптимизированный под производительность. Таким образом можно достаточно быстро создавать конфигурационный файл для первичной оптимизации производительности MySQL.
В сети достаточно много инструкций в виде статей и видео по оптимизации производительности MySQL. Для использования подобных материалов необходимо их прочитать, понять какими параметрами необходимо управлять для увеличения производительности и только после этого вписать в конфигурационный файл необходимые значения.
Так же есть инструмент MySQLTuner, который анализирует текущий статус MySQL и системную информацию, после чего выдает рекомендации по составлению конфигурации, но конфигурационный файл необходимо составлять.
Мы попытались упростить эту задачу, создав проект MySQLConfigurer, с помощью которого можно за 1 минуту создать конфигурационный файл MySQL, учитывающий текущую аппаратную конфигурацию системы и статус MySQL.
MySQLConfigurer это bash скрипт и онлайн сервис, который анализирует рекомендации MySQLTuner, информацию о системе, текущий статус MySQL и подготавливает конфигурационный файл MySQL с рекомендуемыми параметрами, помогающими повысить производительность.
Подробная инструкция об использовании размещена на странице проекта, достаточно выполнить всего 5 шагов:
- Скачиваем скрипт, код скрипта простой и его можно посмотреть на github.
- Запускаем скрипт.
- Получаем конфигурационный файл с рекомендуемым значением параметра есть комментарий в котором указано текущее значение.
- Копируем файл в директорию с конфигурационными файлами MySQL.
- Перезапускаем MySQL.
Мы провели тесты MySQL с помощью Sysbench на виртуальном сервере с операционной системой Debian 9 (2 CPU, 2GB Ram) на таблице в 10 млн. записей.
Тестирование проводилось на 2 конфигурациях: параметры MySQL по умолчанию и рекомендованные MySQLConfigurer. На каждой конфигурации провели по 2 теста: только чтение и чтение / запись.
Тесты показали увеличение производительности до 30% по сравнению с конфигурацией по умолчанию. Результаты тестов можно посмотреть по ссылке.
Сейчас MySQLConfigurer поддерживает MySQL версий 5.5, 5.6 и 5.7.
Буду благодарен за любую обратную связь по проекту MySQLConfigurer. Спасибо.
Страница проекта
DimNS
Когда планируется поддержка 8.0? А то 8-ка официально пригодна к использованию с 19.04.2018
P.S. У нас проект на 8-ке с апреля 18-го, полёт нормальный
UPDATE: MySQLTuner уже поддерживает
Dradmin Автор
Дело в том, что сейчас проект используется в поддержке нескольких десятков серверов MySQL для автоматизации работы инженеров. Большинство из этих серверов имеют версию 5.5 — 5.7.
Поэтому до 8-ки еще и не добрались, но по мере развития проекта планируем добавить.
Добавил issue на github по поддержке MySQL 8.