So verfolgen Sie langsame SELECT-Anweisungen in der Produktions-Firebird-Datenbank
Firebird SQL verfügt über sehr geeignete Mittel, um langsame SQL-Abfragen und andere Leistungsprobleme über den Mechanismus namens TraceAPI-Plugins zu verfolgen. HQbird (fortschrittliche Firebird-Distribution für große Datenbanken) enthält das Tool FBPerfMon, das TraceAPI implementiert und eine benutzerfreundliche GUI-Oberfläche bietet, um alle Leistungsprobleme in Firebird zu verfolgen.
Um die langsamsten SELECT-SQL-Anweisungen in den Produktions-Firebird-Datenbanken zu finden, verwenden Sie die folgende Anleitung:
- Fordern Sie die HQbird Download-Informationen an. (Die Testversion ist für eine schnelle Überprüfung ausreichend). Die Download-Informationen werden per E-Mail gesendet.
- Laden Sie HQbird ServerSide auf dem Server (Windows oder Linux) herunter und installieren Sie es, und HQbird Admin auf dem Computer mit Windows. Unter Windows installiert das HQbird ServerSide-Installationsprogramm das erforderliche Trace-API-Plugin automatisch (für Firebird 2.5 oder 3.0, für 32 Bit oder 64 Bit). Unter Linux ist ein manuelles Kopieren in den Firebird/plugin-Ordner erforderlich. Entfernen Sie das Standard-Plugin (fbtrace.dll/fbtrace.so) und starten Sie Firebird neu, um das neue Plugin zu aktivieren.
- Starten Sie HQbird PerfMon Settings über das Windows-Startmenü: IBSurgeon/HQbird Firebird Admin/FBPerfMon Settings.
- Wählen Sie die zu verfolgende Datenbank aus und fügen Sie sie hinzu. Geben Sie genau dieselbe Verbindungszeichenfolge an, die Sie in Ihren Anwendungen verwenden. Wenn Sie einen Alias verwenden - geben Sie den Alias an, bei der vollständigen Verbindungszeichenfolge - geben Sie den vollständigen Pfad an.
- Fügen Sie eine Trace-Sitzung für die Datenbank hinzu
- Erstellen Sie eine Log-Datenbank (in der die Trace-Ergebnisse gespeichert werden)
- Geben Sie die zu verfolgenden Parameter an (Sie können zunächst die Standardkonfiguration verwenden und sie später ändern, z. B. die SQL-Plan-Protokollierung aktivieren)
- Starten Sie die Trace-Sitzung. Nach dem erfolgreichen Start sehen Sie eine Benachrichtigung, und anschließend werden alle SQL-Abfragen und zugehörigen Informationen in die Log-Datenbank geschrieben. Beachten Sie, dass das Tracing Daten von allen Verbindungen erfasst, sodass das Log recht schnell wachsen kann.
- Warten Sie einige Zeit (ausreichend, um problematische Abfragen zu erfassen, normalerweise 15-20 Minuten) und stoppen Sie dann die Trace-Sitzung.
- Starten Sie HQbird PerfMon Viewer (über das Windows-Startmenü) und wählen Sie aus der Liste die Log-Datenbank aus, die für die letzte Trace-Sitzung verwendet wurde (oder verwenden Sie „Vorhandene Datenbank öffnen").
- Der HQbird PerfMon Viewer startet mit den Serverlast-Diagrammen. Um Anweisungen zu sehen, klicken Sie auf « Details» und dann auf die Registerkarte „Statements" und sortieren Sie alle SQL-Abfragen nach „Total Time".
- Kopieren Sie die Texte der langsamen SQL-Abfragen mit der Schaltfläche „SQL-Text kopieren".

Für weitere Details und eine ausführliche Erklärung lesen Sie bitte das HQbird-Benutzerhandbuch, Abschnitt 4.3. Überwachung mit Trace API: HQbird FBPerfMon, ab Seite 64.