При развертывании приложения на рабочих серверах могут возникнуть некоторые проблемы с базой данных по мере роста данных. Некоторые инструменты могут помочь вам отладить и решить ваши проблемы, такие как MysqlTuner, Percona и т. Д. В этой статье мы собираемся изучить анализатор производительности Yahoo MySql и посмотреть, каковы основные функции.
Установка
Анализатор использует SNMP, когда он доступен, поэтому рекомендуется установить его на сервер базы данных.
Поскольку это приложение JAVA, убедитесь, что у вас установлен JDK, прежде чем продолжить. Для запуска требуется версия 8, но с версией 7 все в порядке, поскольку она не использует никаких функций версии 8. Вы можете прочитать больше в файле readme в репозитории.
У меня есть демонстрационное приложение на моей коробке Vagrant, и я установлю анализатор в корень моего приложения. Давайте начнем с входа на нашу машину с использованием ssh и клонирования репозитория.
vagrant ssh
git clone [email protected]:yahoo/mysql_perf_analyzer.git myperf
Чтобы собрать приложение, вам нужно выполнить команду mvn clean package
После завершения процесса сборки вы найдете файл myperfserver-server.zip
perfJettyServer/target
Переместите этот файл в новый каталог на вашем сервере и распакуйте его. Результирующий вывод содержит start_myperf.sh
stop_myperf.sh
Давайте использовать стартовый скрипт для запуска приложения. Вы можете прочитать больше о доступных опциях в репо .
Управление пользователями
После запуска сервера откройте браузер, используя имя компьютера и указанный порт ( vaprobash.dev:9092/myperf
Вы можете войти с учетной записью администратора по умолчанию (имя пользователя: myperf, пароль: изменить).
Страница управления пользователями может быть доступна из верхнего левого меню. Он позволяет добавлять, редактировать, удалять и подтверждать пользователей, и вы можете использовать его для изменения пароля администратора по умолчанию.
Приборная доска
Основная панель инструментов отображает текущее состояние ваших баз данных, а также другие подробности, такие как загрузка процессора, запущенные потоки, мертвые блокировки и т. Д.
Вторая вкладка на панели инструментов показывает предупреждения за последние 24 часа. Мы поговорим подробнее об оповещениях и о том, как их настроить позже.
Настройка групп БД
Для мониторинга базы данных или набора баз данных вы можете создать новую группу баз данных в верхнем левом меню и выбрать « DB Info
После заполнения входов вы можете посетить панель инструментов, чтобы увидеть состояние ваших баз данных. Вы можете ограничить доступ к базе данных для определенной группы пользователей, используя вкладку Access Control
Мониторинг процессов
Вы можете осуществлять мониторинг системных ресурсов в режиме реального времени, открыв страницу Top
Если вы когда-либо использовали команду top
Он показывает вашу память, использование ЦП, соединения с БД, сетевые передачи и т. Д. Вы можете запустить и остановить процесс в любое время, используя элементы управления в верхней части страницы.
Вы также можете использовать программу SNMP, если она доступна, но установите флажок, чтобы включить ее перед началом процесса.
Контуры
Если вы являетесь поклонником отчетов и предпочитаете работать с диаграммами для сравнения производительности вашего сервера базы данных с течением времени, на вкладке диаграмм есть инструмент построения диаграмм и выбор диапазона дат, чтобы помочь вам понять производительность вашего сервера. Вы также можете сравнить различные метрики сервера, такие как использование памяти, соединения с БД и т. Д.
Изучение метаданных базы данных
Хотя мы привыкли изучать метаданные базы данных из наших приложений для управления базами данных, таких как SequelPro, анализатор производительности Yahoo предоставляет простой способ изучения метаданных базы данных и таблицы, таких как столбцы, представления, индексы, триггеры и т. Д.
Объясняя запросы
Вероятно, наиболее часто используемая функция анализа производительности — это Profiling Queries
Он также показывает данные об использовании памяти, времени выполнения, использовании кэша и т. Д.
Оповещения
Оповещения являются незаменимой функцией мониторинга производительности вашей базы данных. По сути, вы устанавливаете правило, которое определяет, когда ваша система испытывает (или будет) испытывать проблемы.
В меню « User Defined Alerts
В качестве примера я буду использовать метрику SNMP._.MEMAVAILREAL
Вы также можете создавать оповещения на основе запроса к базе данных. Мы можем создать оповещение для запуска, когда список заданий в очереди превышает 100.
После создания оповещений вам нужно перейти на вкладку subscribers
Теперь, если вы перейдете на страницу Alerts
Вывод
Эта статья была кратким введением в основные функции анализатора производительности Yahoo, и нам еще многое предстоит открыть. Проект все еще разрабатывается — вы можете внести свой вклад на Github .
Скоро будет опубликовано более подробное сообщение об использовании анализатора в реальной базе данных!
Если у вас есть какие-либо вопросы или комментарии, пожалуйста, оставьте их ниже.