Tato stránka byla strojově přeložena. Přečtěte si anglický originál. English

Knihovna IBSurgeon

Jak shromáždit Firebird trace pro IBSurgeon Performance Analysis

Poznámka: trasování je bezpečné, lze jej spustit na produkčním prostředí, neovlivňuje výkon při použití doporučené konfigurace níže.

Tento návod popisuje použití IBSurgeon Performance Analysis (součást předplatného cc.ib-aid.com) pro uživatele standardního Firebirdu (pro uživatele HQbirdu je dostupné v rozhraní na záložce „Performance").

Trasování pro Firebird 5.0, 4.0 a 3.0

Krok 1 - Konfigurační soubor

Zkopírujte následující konfiguraci do souboru fbtrace30.conf, nebo stáhněte hotový soubor odtud.

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
}

Uložte soubor do složky bez mezer, například C:\temp\fbtrace30.conf nebo /opt/fbtrace30.conf

Krok 2 - Otestování konfigurace

Spusťte fbtracemgr pro ověření, že konfigurace funguje:

Windows

Otevřete příkazový řádek (spusťte cmd.exe), přejděte do složky s Firebirdem (může to být C:\Program Files\Firebird\Firebird_3.0. nebo C:\HQbird\Firebird30) a spusťte (použijte své skutečné heslo SYSDBA místo masterkey)

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

Linux

Spusťte terminál a poté fbtracemgr ze složky bin Firebirdu (/ opt/firebird/bin nebo /usr/local/bin)

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

Výsledkem bude výstup v příkazovém řádku, něco jako:

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

Zastavte trasování pomocí Ctrl-C (a poté Enter, pokud je to nutné).

Krok 3 - Sběr protokolu

Pokud v předchozím kroku nevidíte chyby, spusťte trasování pro sběr výstupu do souboru protokolu, v příkladu 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

Nechte jej běžet, aby zachytil problematické SQL dotazy po určitou dobu (minimum jsou 3-4 minuty, doporučeno je 1 hodina), a poté přerušte fbtracemgr pomocí Ctrl-C.

Krok 4 - Nahrání protokolů

Nahrajte výsledný soubor protokolu do Trace Visualization na cc.ib-aid.com

Poznámka: pokud je velikost souboru protokolu větší než 20 Mb, zazipujte jej (standardním Windows zipem nebo Linux zipem či 7zip) a nahrajte místo toho komprimovaný protokol.

Další kroky

Příklad analýzy protokolu naleznete zde: /articles/example-of-performance-analysis

Trasování pro Firebird 2.5

Krok 1 - Konfigurační soubor

Zkopírujte následující konfiguraci do souboru fbtrace25.conf, nebo stáhněte hotový soubor odtud.

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>

Uložte soubor do složky bez mezer, například C:\temp\fbtrace25.conf nebo /opt/fbtrace25.conf

Krok 2 - Otestování konfigurace

Spusťte fbtracemgr pro ověření, že konfigurace funguje:

Windows

Otevřete příkazový řádek (spusťte cmd.exe), přejděte do složky Bin Firebirdu (může to být C:\Program Files\Firebird\Firebird_2.5.in nebo C:\HQbird\Firebird25.in) a spusťte (použijte své skutečné heslo SYSDBA místo masterkey)

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

Výsledkem bude výstup v příkazovém řádku, něco jako:

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

Spusťte terminál a poté spusťte fbtracemgr ze složky bin Firebirdu (/opt/firebird/bin nebo /usr/local/bin)

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

Krok 3 - Sběr protokolů

Pokud na obrazovce nevidíte chyby, spusťte trasování pro sběr výstupu dat do souboru, v příkladu 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

Nechte jej běžet, aby zachytil problematické SQL dotazy po určitou dobu (minimum jsou 3-4 minuty, doporučeno je 1 hodina), a poté přerušte fbtracemgr pomocí Ctrl-C.

Krok 4 - Nahrání výsledků

Nahrajte výsledný soubor protokolu do Trace Visualization na cc.ib-aid.com

Poznámka: komprimujte soubor protokolu, pokud je větší než 20 Mb (standardním Windows zipem nebo Linux gz či 7zip), a nahrajte místo toho komprimovaný protokol. Velikost komprimovaného protokolu je omezena na 1 Gb, větší soubory protokolů budou smazány.

Pro přihlášení potřebujete mít účet.

Po přihlášení klikněte na „Upload" v pravém horním rohu widgetu „Traces":

Vyberte Upload trace

Poté vyberte soubor protokolu trasování (max. 120 Mb) na disku a klikněte na Upload:

vyberte protokol trasování pro nahrání

Nahrávání může trvat 1-2 minuty v závislosti na rychlosti nahrávání vašeho internetového připojení a celkové konektivitě. Komprimované soubory se nahrávají rychleji díky zmenšené velikosti!

Poté uvidíte nahraný soubor jako „Processing" (zpracovává se):

Zpracování obvykle trvá 1-2 minuty. Pro zobrazení stavu zpracování musíte použít tlačítko „Refresh".

Po dokončení zpracování uvidíte odkazy na souhrnnou zprávu o výkonu (sloupec „Trace summary report", odkaz „Html") a na grafické znázornění trasování (sloupec a odkaz „Graphs"):

Pokud kliknete na „Html", zobrazí se nová stránka se souhrnnou zprávou o trasování.

Zpráva obsahuje seznamy nejlepších dotazů seřazené podle doby trvání (tj. nejdelší dotazy), frekvence (nejčastější dotazy), časového souhrnu (SQL dotazy, které zabraly většinu času), čtení z vyrovnávací paměti (dotazy nejnáročnější na CPU), čtení z disku (čtení z disku) a zápisů (zápisy na disk).

Dále je zde souhrn procesů, kde můžete vidět aplikace, které spotřebovaly většinu zdrojů.

Pokud kliknete na „Graphs", uvidíte grafické znázornění protokolu trasování s nejlepšími dotazy seskupenými po každé minutě (podle okamžiku dokončení provádění dotazů).

Pokud kliknete na konkrétní časový okamžik, uvidíte nejlepší dotazy z protokolu trasování, jejich plán, parametry a statistiky:

Další kroky

Příklad analýzy protokolu naleznete zde: /articles/example-of-performance-analysis