Статьи

Первый взгляд на анализатор производительности MySQL от Yahoo

При развертывании приложения на рабочих серверах могут возникнуть некоторые проблемы с базой данных по мере роста данных. Некоторые инструменты могут помочь вам отладить и решить ваши проблемы, такие как MysqlTuner, Percona и т. Д. В этой статье мы собираемся изучить анализатор производительности Yahoo MySql и посмотреть, каковы основные функции.

Vector illustration of gauge with pointer in the red, indicating speed

Установка

Анализатор использует SNMP, когда он доступен, поэтому рекомендуется установить его на сервер базы данных.

Поскольку это приложение JAVA, убедитесь, что у вас установлен JDK, прежде чем продолжить. Для запуска требуется версия 8, но с версией 7 все в порядке, поскольку она не использует никаких функций версии 8. Вы можете прочитать больше в файле readme в репозитории.

У меня есть демонстрационное приложение на моей коробке Vagrant, и я установлю анализатор в корень моего приложения. Давайте начнем с входа на нашу машину с использованием ssh и клонирования репозитория.

vagrant ssh
git clone git@github.com:yahoo/mysql_perf_analyzer.git myperf

Чтобы собрать приложение, вам нужно выполнить команду mvn clean package После завершения процесса сборки вы найдете файл myperfserver-server.zipperfJettyServer/target Переместите этот файл в новый каталог на вашем сервере и распакуйте его. Результирующий вывод содержит start_myperf.shstop_myperf.sh Давайте использовать стартовый скрипт для запуска приложения. Вы можете прочитать больше о доступных опциях в репо .

Управление пользователями

После запуска сервера откройте браузер, используя имя компьютера и указанный порт ( vaprobash.dev:9092/myperf Вы можете войти с учетной записью администратора по умолчанию (имя пользователя: myperf, пароль: изменить).

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

User management page

Приборная доска

Основная панель инструментов отображает текущее состояние ваших баз данных, а также другие подробности, такие как загрузка процессора, запущенные потоки, мертвые блокировки и т. Д.

Вторая вкладка на панели инструментов показывает предупреждения за последние 24 часа. Мы поговорим подробнее об оповещениях и о том, как их настроить позже.

Настройка групп БД

Для мониторинга базы данных или набора баз данных вы можете создать новую группу баз данных в верхнем левом меню и выбрать « DB Info После заполнения входов вы можете посетить панель инструментов, чтобы увидеть состояние ваших баз данных. Вы можете ограничить доступ к базе данных для определенной группы пользователей, используя вкладку Access Control

Add DB Group

Мониторинг процессов

Вы можете осуществлять мониторинг системных ресурсов в режиме реального времени, открыв страницу Top Если вы когда-либо использовали команду top Он показывает вашу память, использование ЦП, соединения с БД, сетевые передачи и т. Д. Вы можете запустить и остановить процесс в любое время, используя элементы управления в верхней части страницы.

Top page

Вы также можете использовать программу SNMP, если она доступна, но установите флажок, чтобы включить ее перед началом процесса.

Контуры

Если вы являетесь поклонником отчетов и предпочитаете работать с диаграммами для сравнения производительности вашего сервера базы данных с течением времени, на вкладке диаграмм есть инструмент построения диаграмм и выбор диапазона дат, чтобы помочь вам понять производительность вашего сервера. Вы также можете сравнить различные метрики сервера, такие как использование памяти, соединения с БД и т. Д.

Charts

Изучение метаданных базы данных

Хотя мы привыкли изучать метаданные базы данных из наших приложений для управления базами данных, таких как SequelPro, анализатор производительности Yahoo предоставляет простой способ изучения метаданных базы данных и таблицы, таких как столбцы, представления, индексы, триггеры и т. Д.

DB Meta

Объясняя запросы

Вероятно, наиболее часто используемая функция анализа производительности — это Profiling Queries Он также показывает данные об использовании памяти, времени выполнения, использовании кэша и т. Д.

Explain queries

Оповещения

Оповещения являются незаменимой функцией мониторинга производительности вашей базы данных. По сути, вы устанавливаете правило, которое определяет, когда ваша система испытывает (или будет) испытывать проблемы.
В меню « User Defined Alerts В качестве примера я буду использовать метрику SNMP._.MEMAVAILREAL

Alert 1

Вы также можете создавать оповещения на основе запроса к базе данных. Мы можем создать оповещение для запуска, когда список заданий в очереди превышает 100.

Alert 1

После создания оповещений вам нужно перейти на вкладку subscribers

Теперь, если вы перейдете на страницу Alerts

Alerts

Вывод

Эта статья была кратким введением в основные функции анализатора производительности Yahoo, и нам еще многое предстоит открыть. Проект все еще разрабатывается — вы можете внести свой вклад на Github .

Скоро будет опубликовано более подробное сообщение об использовании анализатора в реальной базе данных!

Если у вас есть какие-либо вопросы или комментарии, пожалуйста, оставьте их ниже.