Як відстежувати повільні 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) та виберіть зі списку журнальну базу даних, яка використовувалася для останнього сеансу трасування (або скористайтеся “Open existing database”).
- HQbird PerfMon Viewer починає з графіків навантаження на сервер; щоб переглянути запити, натисніть «Details», а потім на вкладці “Statements” відсортуйте всі SQL-запити за “Total Time”.
- Скопіюйте тексти повільних SQL-запитів за допомогою кнопки “Copy SQL text”.

Для отримання додаткових деталей та докладних пояснень зверніться до HQbird User Guide, розділ 4.3. Monitoring with Trace API: HQbird FBPerfMon, починаючи зі сторінки 64.