Существует ли эквивалент профилировщика для MySQL?[закрыто]
-
09-06-2019 - |
Вопрос
"Microsoft SQL Server Profiler - это графический пользовательский интерфейс для SQL Trace для мониторинга экземпляра Database Engine или служб Analysis Services".
Я нахожу использование SQL Server Profiler чрезвычайно полезным во время разработки, тестирования и при отладке проблем приложений базы данных.Кто-нибудь знает, существует ли эквивалентная программа для MySQL?
Решение
Что-то классное, что есть в версии 5.0.37 сервера сообщества, это Новый профилировщик MySQL.
Это может дать вам ту информацию, которую вы ищете.
Другие советы
Вы хотите отслеживать производительность или просто посмотреть, какие запросы выполняются?Если последнее, вы можете настроить MySQL для регистрации всех заданных им запросов.В коробке RedHat Linux вы могли бы добавить
log = /var/lib/mysql/query.log
в раздел [mysqld] /etc/my.cnf
перед перезапуском MySQL.
Помните, что в случае загруженной базы данных эти журналы могут стать довольно большими.
Попробуйте JET profiler - это инструмент для оценки производительности запросов и диагностики в режиме реального времени!Я использую это в своей работе.Отличное программное обеспечение и поддержка.Обзор Jet Profiler для MySQL
По-моему, я нашел здесь все в raw....
Найдите и откройте файл конфигурации MySQL, обычно /etc/mysql/my.cnf в Ubuntu.Найдите раздел с надписью “Ведение журнала и репликация”.
# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
log = /var/log/mysql/mysql.log
или в более новых версиях mysql закомментируйте эти строки кода
general_log_file = /var/log/mysql/mysql.log
general_log = 1
log_error = /var/log/mysql/error.log
Просто раскомментируйте переменную “log”, чтобы включить ведение журнала.Перезапустите MySQL с помощью этой команды:перезапуск sudo /etc/init.d/mysql
Теперь мы готовы начать отслеживать запросы по мере их поступления.Откройте новый терминал и запустите эту команду, чтобы прокрутить файл журнала, при необходимости изменив путь.
tail -f /var/log/mysql/mysql.log
Jet Profiler хорош, если это платная версия.LogMonitor просто указывает на файл журнала mysql.
Не уверен насчет графического интерфейса пользователя, но есть команда, которая очень помогла мне профилировать хранимые процедуры в MySQL с помощью workbench:
SET profiling = 1;
call your_procedure;
SHOW PROFILES;
SET profiling = 0;
Если версия 5.0.37 недоступна, возможно, вы захотите взглянуть на майтоп.Он просто выводит текущее состояние сервера, но позволяет вам запускать EXPLAIN as (упомянутый меркуцио) для определенных запросов.
Использование Neor Profiler SQL - это превосходно!!и приложение является бесплатным для всех пользователей. http://www.profilesql.com/download/
Я не знаю ни о каких приложениях для профилирования как таковых, но обычно для анализа запросов используется синтаксис EXPLAIN .Вы можете использовать их, чтобы определить наилучшие индексы для создания, или вы можете попробовать изменить общий запрос и посмотреть, как это меняет эффективность, и т.д.