Главная » Статьи » Базы данных » MySQL |
ВступлениеMySQL в сочетании с РНР является одним из наиболее часто используемых движков баз данных. Направить усилия на то, чтобы ваши базы данных MySQL работали наилучшим образом, это то, что вы должны сделать в первую очередь, когда веб-приложение начинает расти. В этой части цикла статей мы рассмотрим, как мы можем оптимизировать конфигурацию MySQL. Я расскажу вам, что мы можем оптимизировать в конфигурации MySQL для увеличения производительности нашей базы, а также как мы можем найти потенциальные проблемы, когда MySQLработает не идеально. Мы будем использовать в основном инструменты из Percona Toolkit. В этой статье я расскажу об оптимизации конфигурации. Как изменить конфигурацию MySQLНастройки конфигурации MySQL хранятся в файле my.cnf . В общем случае, вы можете найти конфигурационный файл по адресу /etc/mysql/my.cnf. При изменении файла конфигурации, чтобы запустить изменения, вам нужно будет перезагрузить сервер MySQL. Однако если вы хотите внести изменения во время выполнения, можно использовать запросы SET GLOBAL и SET SESSION. Обратите внимание, что не все переменные конфигурации доступны для изменения во время выполнения, и данные изменения не будут постоянными. Пожалуйста, ознакомьтесь со следующим списком, в нем вы найдете информацию относительно того, может ли переменная быть изменена: Система динамических переменных. Находим возможности для улучшения конфигурацииPercona Toolkit выпустили инструмент под названием pt-variable-advisor. С его помощью вы можете проанализировать текущую конфигурацию MySQL и получить обратные данные. pt-variable-advisor проверит конфигурацию на основе заданного набора правил, определяемого Percona Toolkit. Чтобы увидеть полный список правил, вы можете зайти в раздел справки. Давайте запустим инструмент на чистом, только что установленном MySQL и посмотрим, какие обратные данные мы получим:
На основании этого отчета мы можем приступить к улучшению конфигурации. Для получения детальной информации по каждой переменной вы можете ознакомиться с документацией MySQL. MySQLTunerЕще один инструмент, который мы будем использовать, он не является частью Percona Toolkit, этоMySQLTuner. Этот инструмент проанализирует производительность вашего сервера MySQL и предложит изменения. Как правило, вам достаточно просто запустить этот инструмент, после того как ваш сервер MySQLуже проработал несколько дней. Спустя пару дней после внесения изменений в конфигурацию вы должны еще раз запустить его. Давайте запустим ./mysqltuner.pl и посмотрим, насколько производительна наша текущая конфигурация MySQL:
Сначала мы увидим результаты тестов, проведенных MySQLTuner. На основе этих результатовMySQLTuner даст вам рекомендации относительно того, как вы можете улучшить конфигурациюMySQL. После чего вы можете начать оптимизацию, но, чтобы исправить определенные проблемы, практически всегда нужно пройти путь проб и ошибок. Кроме того, не забудьте повторно запустить этот скрипт через несколько дней. И посмотреть, улучшилось ли состояние системы, или нужно дополнительное вмешательство. Сравнение конфигурации на нескольких серверахЕсли вы работаете с несколькими серверами MySQL, вы возможно захотите сконфигурировать их все одинаково. Проверка вручную может потребовать много труда и времени. К счастью, в Perconaсуществует инструмент под названием pt-config-diff. С помощью него можно взять два конфигурационных файла и сравнить их. Рассмотрите следующие два примера:
Если теперь мы запустим pt-config-diff /server1/etc/mysql/my.cnf /server2/etc/mysql/my.cnf, то на выходе получим уже одинаковые результаты:
Описанный пример, конечно, очень прост. Однако если вы оптимизировали свой сервер MySQL, установив много различных переменных, этот инструмент может пригодиться вам, чтобы аналогично задать параметры конфигурации и на другом сервере. ЗаключениеТеперь вы понимаете, что важно не только следить за правильной работой базы данных важно также правильно настроить MySQL. Изучение каждой переменной и того, что она делает, может занять много времени. К счастью, у нас есть ряд инструментов, которые помогут справиться с этой колоссальной задачей. Используете ли вы какие-либо инструменты для оптимизации конфигурации MySQL? Если да, то какие именно? Мне очень хотелось бы услышать ваши мнения в комментариях. | |
Просмотров: 632 | |
Всего комментариев: 0 | |