Како прикупити Firebird траг за IBSurgeon анализу перформанси
Napomena: praćenje je bezbedno, može se pokrenuti na produkciji, ne utiče na performanse ukoliko se koristi preporučena konfiguracija ispod.
- Em Português - Como coletar Firebird Trace para IBSurgeon Performance Analysis?
- In deutscher Sprache - Wie erfasse ich Firebird-Tracees für die IBSurgeon-Leistungsanalyse?
Ovo uputstvo opisuje upotrebu IBSurgeon Performance Analysis (deo cc.ib-aid.com pretplate) za korisnike standardnog Firebird-a (za korisnike HQbird-a dostupno je u interfejsu na kartici „Performance").
Praćenje za Firebird 5.0, 4.0 i 3.0
Korak 1 - Konfiguraciona datoteka
Kopirajte sledeću konfiguraciju u datoteku fbtrace30.conf, ili preuzmite gotovu datoteku odavde.
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
}
Sačuvajte datoteku u fascikli bez razmaka, na primer, C:\temp\fbtrace30.conf, ili /opt/fbtrace30.conf
Korak 2 - Testiranje konfiguracije
Pokrenite fbtracemgr da proverite da li konfiguracija radi:
Windows
Otvori komandnu liniju (pokrenite cmd.exe), idite u fasciklu sa Firebird-om (može biti C:\Program Files\Firebird\Firebird_3.0. ili C:\HQbird\Firebird30) i pokrenite (koristite svoju stvarnu SYSDBA lozinku umesto masterkey)
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace30.conf
Linux
Pokrenite terminal, a zatim fbtracemgr iz Firebird bin fascikle (/ opt/firebird/bin ili /usr/local/bin)
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace30.conf
Kao rezultat, videćete izlaz u komandnoj liniji, otprilike ovako:
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, )
Zaustavite praćenje sa Ctrl-C (i zatim Enter, ako je potrebno).
Korak 3 - Prikupljanje dnevnika
Ako ne vidite greške u prethodnom koraku, pokrenite praćenje da prikupite izlaz u datoteku dnevnika, c:\temp\log1.log u primeru:
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
Ostavite ga da radi kako bi uhvatio problematične SQL upite neko vreme (minimum je 3-4 minuta, preporučeno je 1 sat), a zatim prekinite fbtracemgr sa Ctrl-C.
Korak 4. Otpremanje dnevnika
Otpremite rezultujuću datoteku dnevnika na Trace Visualization na cc.ib-aid.com
Imajte na umu, ako je veličina datoteke dnevnika veća od 20Mb, zipujte je (standardnim Windows zip-om ili Linux zip-om ili 7zip-om) i otpremite komprimovani dnevnik umesto toga.
Sledeći koraci
Pogledajte primer analize dnevnika ovde: /articles/example-of-performance-analysis
Praćenje za Firebird 2.5
Korak 1 - Konfiguraciona datoteka
Kopirajte sledeću konfiguraciju u datoteku fbtrace25.conf, ili preuzmite gotovu datoteku od ovde.
<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>
Sačuvajte datoteku u fascikli bez razmaka, na primer, C:\temp\fbtrace25.conf, ili /opt/fbtrace25.conf
Korak 2 - Testiranje konfiguracije
Pokrenite fbtracemgr da proverite da li konfiguracija radi:
Windows
Otvori komandnu liniju (pokrenite cmd.exe), idite u Bin fasciklu Firebird-a (može biti C:\Program Files\Firebird\Firebird_2.5.in ili C:\HQbird\Firebird25.in) i pokrenite (koristite svoju stvarnu SYSDBA lozinku umesto masterkey)
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace25.conf
Kao rezultat, videćete izlaz u komandnoj liniji, otprilike ovako:
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
Pokrenite terminal, a zatim pokrenite fbtracemgr iz Firebird bin fascikle (/opt/firebird/bin ili /usr/local/bin)
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace25.conf
Korak 3 - Prikupljanje dnevnika
Ako ne vidite greške na ekranu, pokrenite praćenje da prikupite izlaz podataka u datoteku, c:\temp\log1.log u primeru:
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
Ostavite ga da radi kako bi uhvatio problematične SQL upite neko vreme (minimum je 3-4 minuta, preporučeno je 1 sat), a zatim prekinite fbtracemgr sa Ctrl-C.
Korak 4. Otpremanje rezultata
Otpremite rezultujuću datoteku dnevnika na Trace Visualization na cc.ib-aid.com
Imajte na umu, komprimujte datoteku dnevnika ako je veća od 20Mb (standardnim Windows zip-om ili Linux gz-om ili 7zip-om) i otpremite komprimovani dnevnik umesto toga. Veličina komprimovanog dnevnika je ograničena na 1Gb, veće datoteke dnevnika će biti obrisane.
Morate imati nalog da biste se prijavili.
Nakon prijave, kliknite na „Upload" u gornjem desnom uglu „Traces" widgeta:

Zatim izaberite datoteku dnevnika praćenja (maks. 120Mb) na disku i kliknite Upload:

Otpremanje može potrajati 1-2 minuta, u zavisnosti od brzine otpremanja vaše internet veze i opšte povezanosti. Komprimovane datoteke se otpremaju brže zbog smanjene veličine!
Zatim ćete videti otpremljenu datoteku kao „Processing":

Obrada obično traje 1-2 minuta. Morate koristiti dugme „Refresh" da vidite status obrade.
Nakon što je obrada završena, videćete linkove ka izveštaju sa sažetkom performansi (kolona „Trace summary report", link „Html") i ka grafičkom prikazu praćenja (kolona i link „Graphs"):

Ako kliknete na „Html", pojaviće se nova stranica sa izveštajem o sažetku praćenja.
Izveštaj sadrži liste najboljih upita, sortirane po trajanju (tj. najduži upiti), učestalosti (najčešći upiti), vremenskom sažetku (SQL upiti koji su zauzeli većinu vremena), dohvatanjima (upiti koji najviše troše CPU), čitanjima (čitanja sa diska) i upisima (upisi na disk).
Takođe, postoji sažetak procesa, gde možete videti aplikacije koje su potrošile većinu resursa.

Ako kliknete na „Graphs", videćete grafički prikaz dnevnika praćenja, sa najboljim upitima, grupisanim po svakom minutu (po trenutku završetka izvršavanja upita).
Ako kliknete na određeni vremenski trenutak, videćete najbolje upite iz dnevnika praćenja, njihov plan, parametre, statistiku:

Sledeći koraci
Pogledajte primer analize dnevnika ovde: /articles/example-of-performance-analysis