So sammeln Sie Firebird-Trace für die IBSurgeon Performance-Analyse
Bitte beachten Sie: Tracing ist sicher, es kann auf dem Produktionssystem gestartet werden, es beeinträchtigt die Leistung nicht, wenn die unten empfohlene Konfiguration verwendet wird.
- Em Português - Como coletar Firebird Trace para IBSurgeon Performance Analysis?
- In deutscher Sprache - Wie erfasse ich Firebird-Tracees für die IBSurgeon-Leistungsanalyse?
Diese Anleitung beschreibt die Verwendung der IBSurgeon Performance Analysis (Teil des cc.ib-aid.com Abonnements) für Benutzer von Vanilla-Firebird (für Benutzer von HQbird ist sie in der Oberfläche auf dem Tab “Performance” verfügbar).
Tracing für Firebird 5.0, 4.0 und 3.0
Schritt 1 - Konfigurationsdatei
Kopieren Sie die folgende Konfiguration in die Datei fbtrace30.conf oder laden Sie die fertige Datei von hier herunter.
database
{
enabled = true
time_threshold = 100
log_connections = true
log_statement_finish = true
log_errors = true
log_initfini = false
print_plan = true
#explain_plan = false
print_perf = true
max_sql_length = 65000
max_arg_length = 240
max_arg_count = 50
}
Speichern Sie die Datei in einem Ordner ohne Leerzeichen, z. B. C:\temp\fbtrace30.conf oder /opt/fbtrace30.conf
Schritt 2 - Konfiguration testen
Führen Sie fbtracemgr aus, um zu überprüfen, dass die Konfiguration funktioniert:
Windows
Öffnen Sie die Eingabeaufforderung (cmd.exe ausführen), wechseln Sie in den Ordner mit Firebird (dies kann C:\Program Files\Firebird\Firebird_3.0. oder C:\HQbird\Firebird30 sein) und führen Sie aus (verwenden Sie Ihr tatsächliches SYSDBA-Passwort anstelle von masterkey)
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace30.conf
Linux
Öffnen Sie ein Terminal und führen Sie dann fbtracemgr aus dem Firebird-bin-Ordner aus (/ opt/firebird/bin oder /usr/local/bin)
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace30.conf
Als Ergebnis sehen Sie die Ausgabe in der Eingabeaufforderung, etwa so:
Trace session ID 2 started
2021-05-26T10:23:48.5690 (2996:00000000018E0040) ATTACH_DATABASE
C:\HQBIRD\FIREBIRD30.ECURITY3.FDB (ATT_6189, SYSDBA:NONE, NONE, )
Stoppen Sie das Tracing mit Strg-C (und dann ggf. Enter).
Schritt 3 - Protokoll sammeln
Wenn Sie im vorherigen Schritt keine Fehler sehen, führen Sie das Tracing aus, um die Ausgabe in die Protokolldatei zu sammeln, im Beispiel c:\temp\log1.log:
Windows
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace30.conf > c:\temp\log1.log
Linux
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace30.conf > log1.log
Lassen Sie es eine Weile laufen, um die problematischen SQL-Abfragen zu erfassen (das Minimum sind 3-4 Minuten, empfohlen wird 1 Stunde), und unterbrechen Sie dann fbtracemgr mit Strg-C.
Schritt 4. Protokolle hochladen
Laden Sie die resultierende Protokolldatei zur Trace-Visualisierung auf cc.ib-aid.com hoch.
Bitte beachten Sie: Wenn die Größe der Protokolldatei mehr als 20 MB beträgt, komprimieren Sie sie (mit dem Standard-Windows-Zip oder mit Linux-Zip oder 7zip) und laden Sie stattdessen ein komprimiertes Protokoll hoch.
Nächste Schritte
Ein Beispiel für die Protokollanalyse finden Sie hier: /articles/example-of-performance-analysis
Tracing für Firebird 2.5
Schritt 1 - Konfigurationsdatei
Kopieren Sie die folgende Konfiguration in die Datei fbtrace25.conf oder laden Sie die fertige Datei von hier herunter.
<database>
enabled true
log_connections true
log_statement_finish true
log_errors true
print_plan true
print_perf true
time_threshold 200
max_sql_length 65000
max_blr_length 500
max_dyn_length 500
max_arg_length 80
max_arg_count 50
</database>
Speichern Sie die Datei in einem Ordner ohne Leerzeichen, z. B. C:\temp\fbtrace25.conf oder /opt/fbtrace25.conf
Schritt 2 - Konfiguration testen
Führen Sie fbtracemgr aus, um zu überprüfen, dass die Konfiguration funktioniert:
Windows
Öffnen Sie die Eingabeaufforderung (cmd.exe ausführen), wechseln Sie in den Bin-Ordner von Firebird (dies kann C:\Program Files\Firebird\Firebird_2.5.in oder C:\HQbird\Firebird25.in sein) und führen Sie aus (verwenden Sie Ihr tatsächliches SYSDBA-Passwort anstelle von masterkey)
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace25.conf
Als Ergebnis sehen Sie die Ausgabe in der Eingabeaufforderung, etwa so:
Trace session ID 2 started
2021-05-26T10:23:48.5690 (2996:00000000018E0040) ATTACH_DATABASE
C:\HQBIRD\FIREBIRD30.ECURITY3.FDB (ATT_6189, SYSDBA:NONE, NONE, )
Linux
Öffnen Sie ein Terminal und führen Sie dann fbtracemgr aus dem Firebird-bin-Ordner aus (/opt/firebird/bin oder /usr/local/bin)
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace25.conf
Schritt 3 - Protokolle sammeln
Wenn Sie keine Fehler auf dem Bildschirm sehen, führen Sie das Tracing aus, um die Datenausgabe in die Datei zu sammeln, im Beispiel c:\temp\log1.log:
Windows
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace25.conf > c:\temp\log1.log
Linux
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace25.conf > log1.log
Lassen Sie es eine Weile laufen, um die problematischen SQL-Abfragen zu erfassen (das Minimum sind 3-4 Minuten, empfohlen wird 1 Stunde), und unterbrechen Sie dann fbtracemgr mit Strg-C.
Schritt 4. Ergebnisse hochladen
Laden Sie die resultierende Protokolldatei zur Trace-Visualisierung auf cc.ib-aid.com hoch.
Bitte beachten Sie: Komprimieren Sie die Protokolldatei, wenn sie größer als 20 MB ist (mit dem Standard-Windows-Zip oder mit Linux-gz oder 7zip), und laden Sie stattdessen das komprimierte Protokoll hoch. Die Größe des komprimierten Protokolls ist auf 1 GB begrenzt, größere Protokolldateien werden gelöscht.
Sie benötigen ein Konto, um sich anzumelden.
Klicken Sie nach der Anmeldung in der oberen rechten Ecke des “Traces”-Widgets auf “Upload”:

Wählen Sie dann die Trace-Protokolldatei (max. 120 MB) auf der Festplatte aus und klicken Sie auf Upload:

Das Hochladen kann je nach Upload-Geschwindigkeit Ihrer Internetverbindung und allgemeiner Konnektivität 1-2 Minuten dauern. Komprimierte Dateien werden aufgrund der reduzierten Größe schneller hochgeladen!
Danach sehen Sie die hochgeladene Datei als “Processing”:

Die Verarbeitung dauert normalerweise 1-2 Minuten. Sie müssen die Schaltfläche “Refresh” verwenden, um den Status der Verarbeitung zu sehen.
Nach Abschluss der Verarbeitung sehen Sie Links zum Leistungszusammenfassungsbericht (Spalte “Trace summary report”, Link “Html”) und zur grafischen Darstellung des Tracings (Spalte und Link “Graphs”):

Wenn Sie auf “Html” klicken, erscheint eine neue Seite mit dem Trace-Zusammenfassungsbericht.
Der Bericht enthält Listen der Top-Abfragen, sortiert nach Dauer (d. h. die längsten Abfragen), Häufigkeit (die häufigsten Abfragen), Zeitzusammenfassung (SQL-Abfragen, die den Großteil der Zeit in Anspruch nahmen), Fetches (CPU-intensivste Abfragen), Reads (Festplattenlesevorgänge) und Writes (Festplattenschreibvorgänge).
Außerdem gibt es eine Prozesszusammenfassung, in der Sie die Anwendungen sehen können, die die meisten Ressourcen verbraucht haben.

Wenn Sie auf “Graphs” klicken, sehen Sie die grafische Darstellung des Trace-Protokolls mit den Top-Abfragen, gruppiert nach jeder Minute (nach dem Endzeitpunkt der Abfrageausführung).
Wenn Sie auf einen bestimmten Zeitpunkt klicken, sehen Sie die Top-Abfragen aus dem Trace-Protokoll, deren Plan, Parameter und Statistiken:

Nächste Schritte
Ein Beispiel für die Protokollanalyse finden Sie hier: /articles/example-of-performance-analysis