Deze pagina is automatisch vertaald. Lees het Engelse origineel. English

IBSurgeon-bibliotheek

Hoe Firebird-trace te verzamelen voor IBSurgeon Performance Analysis

Please note: tracing is safe, it can be started on the production, it does not affect the performance in case of using the recommended configuration below.

Deze instructie beschrijft het gebruik van IBSurgeon Performance Analysis (onderdeel van het cc.ib-aid.com abonnement) voor gebruikers van standaard Firebird (voor gebruikers van HQbird is dit beschikbaar in de interface op het tabblad “Performance”).

Tracing voor Firebird 5.0, 4.0 en 3.0

Stap 1 - Configuratiebestand

Kopieer de volgende configuratie naar het bestand fbtrace30.conf, of download het kant-en-klare bestand hier.

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
}

Sla het bestand op in een map zonder spaties, bijvoorbeeld C:\temp\fbtrace30.conf, of /opt/fbtrace30.conf

Stap 2 - Test de configuratie

Voer fbtracemgr uit om te controleren dat de configuratie werkt:

Windows

Open de opdrachtprompt (voer cmd.exe uit), ga naar de map met Firebird (dit kan C:\Program Files\Firebird\Firebird_3.0. of C:\HQbird\Firebird30 zijn) en voer uit (gebruik uw daadwerkelijke SYSDBA-wachtwoord in plaats van masterkey)

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

Linux

Open de terminal en voer vervolgens fbtracemgr uit vanuit de Firebird bin-map (/ opt/firebird/bin of /usr/local/bin)

Code
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace30.conf

Als resultaat ziet u de uitvoer in de opdrachtprompt, ongeveer zoals dit:

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

Stop de tracing met Ctrl-C (en daarna Enter, indien nodig).

Stap 3 - Logboek verzamelen

Als u geen fouten ziet in de vorige stap, voer dan tracing uit om de uitvoer naar het logbestand te verzamelen, in het voorbeeld 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

Laat het draaien om de problematische SQL-queries een tijdje op te vangen (het minimum is 3-4 minuten, aanbevolen is 1 uur), en onderbreek daarna de fbtracemgr met Ctrl-C.

Stap 4. Logboeken uploaden

Upload het resulterende logbestand naar de Trace Visualization op cc.ib-aid.com

Let op: als de grootte van het logbestand meer dan 20Mb is, zip het dan (met standaard Windows zip of met Linux zip of 7zip), en upload in plaats daarvan een gecomprimeerd logboek.

Volgende stappen

Zie het voorbeeld van loganalyse hier: /articles/example-of-performance-analysis

Tracing voor Firebird 2.5

Stap 1 - Configuratiebestand

Kopieer de volgende configuratie naar het bestand fbtrace25.conf, of download het kant-en-klare bestand van hier.

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>

Sla het bestand op in een map zonder spaties, bijvoorbeeld C:\temp\fbtrace25.conf, of /opt/fbtrace25.conf

Stap 2 - Test configuratie

Voer fbtracemgr uit om te controleren dat de configuratie werkt:

Windows

Open de opdrachtprompt (voer cmd.exe uit), ga naar de Bin-map van Firebird (dit kan C:\Program Files\Firebird\Firebird_2.5.in of C:\HQbird\Firebird25.in zijn) en voer uit (gebruik uw daadwerkelijke SYSDBA-wachtwoord in plaats van masterkey)

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

Als resultaat ziet u de uitvoer in de opdrachtprompt, ongeveer zoals dit:

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

Open de terminal en voer vervolgens fbtracemgr uit vanuit de Firebird bin-map (/opt/firebird/bin of /usr/local/bin)

Code
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace25.conf

Stap 3 - Logboeken verzamelen

Als u geen fouten op het scherm ziet, voer dan tracing uit om de uitvoer van de gegevens naar het bestand te verzamelen, in het voorbeeld 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

Laat het draaien om de problematische SQL-queries een tijdje op te vangen (het minimum is 3-4 minuten, aanbevolen is 1 uur), en onderbreek daarna de fbtracemgr met Ctrl-C.

Stap 4. Resultaten uploaden

Upload het resulterende logbestand naar de Trace Visualization op cc.ib-aid.com

Let op: comprimeer het logbestand als het groter is dan 20Mb (met standaard Windows zip of met Linux gz of 7zip), en upload in plaats daarvan een gecomprimeerd logboek. De grootte van het gecomprimeerde logboek is beperkt tot 1Gb, grotere logbestanden worden verwijderd.

U moet een account hebben om in te loggen.

Na het inloggen klikt u op “Upload” in de rechterbovenhoek van de “Traces”-widget:

Select Upload trace

Selecteer vervolgens het trace-logbestand (max 120Mb) op schijf en klik op Upload:

select tarce log to upload

Het uploaden kan 1-2 minuten duren, afhankelijk van uw internetverbinding uploadsnelheid en algemene connectiviteit. Gecomprimeerde bestanden worden sneller geüpload vanwege de kleinere omvang!

Daarna ziet u het geüploade bestand als “Processing”:

De verwerking duurt meestal 1-2 minuten. U moet de knop “Refresh” gebruiken om de status van de verwerking te zien.

Nadat de verwerking is voltooid, ziet u links naar het prestatiesamenvattingsrapport (kolom “Trace summary report”, link “Html”), en naar de grafische weergave van de tracing (kolom en link “Graphs”):

Als u op “Html” klikt, verschijnt de nieuwe pagina met het trace-samenvattingsrapport.

Het rapport bevat lijsten van top-queries, gesorteerd op duur (d.w.z. de langste queries), frequentie (de meest voorkomende queries), tijd-samenvatting (SQL-queries die het grootste deel van de tijd in beslag namen), fetches (meest CPU-verbruikende queries), reads (schijflezingen) en writes (schijfschrijvingen).

Er is ook een processamenvatting, waar u de applicaties kunt zien die het grootste deel van de resources verbruikten.

Als u op “Graphs” klikt, ziet u de grafische weergave van het trace-logboek, met top-queries, gegroepeerd per minuut (op basis van het moment van voltooiing van de query-uitvoering).

Als u op een specifiek tijdstip klikt, ziet u top-queries uit het trace-logboek, hun plan, parameters en statistieken:

Volgende stappen

Zie het voorbeeld van loganalyse hier: /articles/example-of-performance-analysis