Jak zebrać ślad Firebird do analizy wydajności IBSurgeon
Uwaga: śledzenie jest bezpieczne, można je uruchomić na produkcji, nie wpływa na wydajność przy użyciu zalecanej poniżej konfiguracji.
- Em Português - Como coletar Firebird Trace para IBSurgeon Performance Analysis?
- In deutscher Sprache - Wie erfasse ich Firebird-Tracees für die IBSurgeon-Leistungsanalyse?
Ta instrukcja opisuje użycie IBSurgeon Performance Analysis (część subskrypcji cc.ib-aid.com) dla użytkowników standardowego Firebird (dla użytkowników HQbird jest dostępna w interfejsie na zakładce „Performance").
Śledzenie dla Firebird 5.0, 4.0 i 3.0
Krok 1 - Plik konfiguracyjny
Skopiuj następującą konfigurację do pliku fbtrace30.conf lub pobierz gotowy plik stąd.
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
}
Zapisz plik w folderze bez spacji, na przykład C:\temp\fbtrace30.conf lub /opt/fbtrace30.conf
Krok 2 - Test konfiguracji
Uruchom fbtracemgr, aby sprawdzić, czy konfiguracja działa:
Windows
Otwórz wiersz polecenia (uruchom cmd.exe), przejdź do folderu z Firebird (może to być C:\Program Files\Firebird\Firebird_3.0. lub C:\HQbird\Firebird30) i uruchom (użyj swojego rzeczywistego hasła SYSDBA zamiast masterkey)
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace30.conf
Linux
Uruchom terminal, a następnie fbtracemgr z folderu bin Firebird (/ opt/firebird/bin lub /usr/local/bin)
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace30.conf
W rezultacie zobaczysz wynik w wierszu polecenia, coś takiego:
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, )
Zatrzymaj śledzenie za pomocą Ctrl-C (a następnie Enter, jeśli to konieczne).
Krok 3 - Zbieranie logu
Jeśli nie widzisz błędów w poprzednim kroku, uruchom śledzenie, aby zebrać dane wyjściowe do pliku logu, w przykładzie 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
Pozostaw go uruchomionego, aby przez pewien czas wychwycić problematyczne zapytania SQL (minimum 3-4 minuty, zalecane 1 godzina), a następnie przerwij fbtracemgr za pomocą Ctrl-C.
Krok 4. Prześlij logi
Prześlij wynikowy plik logu do Wizualizacji Śledzenia na cc.ib-aid.com
Uwaga: jeśli rozmiar pliku logu przekracza 20 Mb, spakuj go (standardowym zip systemu Windows lub zip/7zip w systemie Linux) i prześlij skompresowany log.
Następne kroki
Zobacz przykład analizy logu tutaj: /articles/example-of-performance-analysis
Śledzenie dla Firebird 2.5
Krok 1 - Plik konfiguracyjny
Skopiuj następującą konfigurację do pliku fbtrace25.conf lub pobierz gotowy plik stąd.
<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>
Zapisz plik w folderze bez spacji, na przykład C:\temp\fbtrace25.conf lub /opt/fbtrace25.conf
Krok 2 - Test konfiguracji
Uruchom fbtracemgr, aby sprawdzić, czy konfiguracja działa:
Windows
Otwórz wiersz polecenia (uruchom cmd.exe), przejdź do folderu Bin Firebird (może to być C:\Program Files\Firebird\Firebird_2.5.in lub C:\HQbird\Firebird25.in) i uruchom (użyj swojego rzeczywistego hasła SYSDBA zamiast masterkey)
fbtracemgr.exe -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf C:\temp\fbtrace25.conf
W rezultacie zobaczysz wynik w wierszu polecenia, coś takiego:
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
Uruchom terminal, a następnie uruchom fbtracemgr z folderu bin Firebird (/opt/firebird/bin lub /usr/local/bin)
./fbtracemgr -se localhost:service_mgr -user SYSDBA -pass masterkey -start -conf /opt/fbtrace25.conf
Krok 3 - Zbieranie logów
Jeśli nie widzisz błędów na ekranie, uruchom śledzenie, aby zebrać dane wyjściowe do pliku, w przykładzie 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
Pozostaw go uruchomionego, aby przez pewien czas wychwycić problematyczne zapytania SQL (minimum 3-4 minuty, zalecane 1 godzina), a następnie przerwij fbtracemgr za pomocą Ctrl-C.
Krok 4. Prześlij wyniki
Prześlij wynikowy plik logu do Wizualizacji Śledzenia na cc.ib-aid.com
Uwaga: skompresuj plik logu, jeśli jest większy niż 20 Mb (standardowym zip systemu Windows lub gz/7zip w systemie Linux) i prześlij skompresowany log. Rozmiar skompresowanego logu jest ograniczony do 1 Gb, większe pliki logów zostaną usunięte.
Musisz mieć konto, aby się zalogować.
Po zalogowaniu kliknij „Upload" w prawym górnym rogu widżetu „Traces":

Następnie wybierz plik logu śledzenia (maks. 120 Mb) na dysku i kliknij Upload:

Przesyłanie może zająć 1-2 minuty, w zależności od prędkości wysyłania połączenia internetowego i ogólnej łączności. Skompresowane pliki są przesyłane szybciej ze względu na mniejszy rozmiar!
Następnie zobaczysz przesłany plik jako „Processing":

Przetwarzanie zwykle zajmuje 1-2 minuty. Aby zobaczyć status przetwarzania, należy użyć przycisku „Refresh".
Po zakończeniu przetwarzania zobaczysz linki do raportu podsumowującego wydajność (kolumna „Trace summary report", link „Html") oraz do graficznej reprezentacji śledzenia (kolumna i link „Graphs"):

Jeśli klikniesz „Html", pojawi się nowa strona z raportem podsumowującym śledzenie.
Raport zawiera listy najważniejszych zapytań, posortowane według czasu trwania (tj. najdłuższe zapytania), częstotliwości (najczęstsze zapytania), sumy czasu (zapytania SQL, które zajęły większość czasu), pobrań (zapytania najbardziej obciążające CPU), odczytów (odczyty dysku) i zapisów (zapisy na dysku).
Dostępne jest również podsumowanie procesów, w którym można zobaczyć aplikacje, które zużyły większość zasobów.

Jeśli klikniesz „Graphs", zobaczysz graficzną reprezentację logu śledzenia, z najważniejszymi zapytaniami, pogrupowanymi co minutę (według momentu zakończenia wykonywania zapytań).
Jeśli klikniesz konkretny moment czasu, zobaczysz najważniejsze zapytania z logu śledzenia, ich plan, parametry, statystyki:

Następne kroki
Zobacz przykład analizy logu tutaj: /articles/example-of-performance-analysis