Diese Seite wurde maschinell übersetzt. Lesen Sie das englische Original. English

IBSurgeon-Bibliothek

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.

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.

Code
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)

Code
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)

Code
./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:

Code
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

Code
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace30.conf > c:\temp\log1.log

Linux

Code
./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.

Code
    <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
Code
    </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)

Code
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:

Code
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)

Code
./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

Code
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace25.conf > c:\temp\log1.log

Linux

Code
./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”:

Select Upload trace

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

select tarce log to 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