Как отслеживать медленные SELECT-запросы в производственной базе данных Firebird
Firebird SQL имеет очень удобные средства для отслеживания медленных SQL-запросов и других проблем с производительностью через механизм плагинов TraceAPI. HQbird (расширенная сборка Firebird для больших баз данных) включает инструмент FBPerfMon, который реализует TraceAPI и предлагает простой графический интерфейс для отслеживания всех проблем с производительностью в Firebird.
Чтобы найти самые медленные SELECT SQL-запросы в производственных базах данных Firebird, используйте следующую инструкцию:
- Запросите информацию о загрузке HQbird download. (пробной версии будет достаточно для быстрой проверки). Информация о загрузке будет отправлена по электронной почте.
- Загрузите и установите HQbird ServerSide на сервер (Windows или Linux) и HQbird Admin на компьютер с Windows. На Windows установщик HQbird ServerSide автоматически установит необходимый плагин Trace API (для Firebird 2.5 или 3.0, для 32 бит или 64 бит), на Linux потребуется ручное копирование в папку Firebird/plugin. Удалите стандартный плагин (fbtrace.dll/fbtrace.so) и перезапустите Firebird для активации нового плагина.
- Запустите HQbird PerfMon Settings из меню Пуск Windows: IBSurgeon/HQbird Firebird Admin/FBPerfMon Settings.
- Выберите и добавьте базу данных для трассировки. Укажите точно такую же строку подключения, какую вы используете в своих приложениях. Если вы используете алиас - укажите алиас, полную строку подключения - укажите полный путь.
- Добавьте сессию трассировки для базы данных
- Создайте базу данных журнала (где хранить результаты трассировки)
- Укажите параметры для отслеживания (изначально можно использовать конфигурацию по умолчанию и изменить её позже, например, включить логирование планов SQL)
- Запустите сессию трассировки. После успешного запуска вы увидите уведомление, и затем все SQL-запросы и связанная информация будут записываться в базу данных журнала. Помните, что трассировка захватывает данные со всех подключений, поэтому журнал может расти довольно быстро.
- Подождите некоторое время (достаточно для захвата проблемных запросов, обычно 15-20 минут), затем остановите сессию трассировки.
- Запустите HQbird PerfMon Viewer (из меню Пуск Windows) и выберите из списка базу данных журнала, которая использовалась для последней сессии трассировки (или используйте «Открыть существующую базу данных»).
- HQbird PerfMon Viewer запускается с графиками нагрузки сервера. Чтобы увидеть операторы, нажмите на «Детали», затем на вкладке «Операторы» отсортируйте все SQL-запросы по «Общему времени».
- Скопируйте тексты медленных SQL-запросов с помощью кнопки «Копировать текст SQL».

Для получения более подробной информации и детального объяснения обратитесь к Руководству пользователя HQbird, раздел 4.3. Мониторинг с помощью Trace API: HQbird FBPerfMon, начиная со страницы 64.