Ta strona została przetłumaczona maszynowo. Przeczytaj oryginał angielski. English

Biblioteka IBSurgeon

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.

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.

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
}

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)

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

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

W rezultacie zobaczysz wynik w wierszu polecenia, coś takiego:

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

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

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

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.

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>

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)

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

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

Uruchom terminal, a następnie uruchom fbtracemgr z folderu bin Firebird (/opt/firebird/bin lub /usr/local/bin)

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

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

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

Wybierz Prześlij śledzenie

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

wybierz plik logu śledzenia do przesłania

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