Jak sledovat pomalé SELECT příkazy v produkční databázi Firebird
Firebird SQL má velmi vhodné prostředky pro sledování pomalých SQL dotazů a dalších problémů s výkonem prostřednictvím mechanismu nazývaného TraceAPI pluginy. HQbird (pokročilá distribuce Firebirdu pro velké databáze) obsahuje nástroj FBPerfMon, který implementuje TraceAPI a nabízí snadné GUI rozhraní pro sledování všech problémů s výkonem ve Firebirdu.
Pro nalezení nejpomalejších SELECT SQL příkazů v produkčních databázích Firebird použijte následující postup:
- Vyžádejte si informace o stažení HQbird download. (Pro rychlou kontrolu postačí trial verze). Informace o stažení budou zaslány e-mailem.
- Stáhněte a nainstalujte HQbird ServerSide na server (Windows nebo Linux) a HQbird Admin na počítač s Windows. Na Windows instalační program HQbird ServerSide automaticky nainstaluje potřebný Trace API plugin (pro Firebird 2.5 nebo 3.0, pro 32 bit nebo 64 bit), na Linuxu bude nutné ruční zkopírování do složky Firebird/plugin. Odstraňte standardní plugin (fbtrace.dll/fbtrace.so) a restartujte Firebird pro aktivaci nového pluginu.
- Spusťte HQbird PerfMon Settings z nabídky Start ve Windows: IBSurgeon/HQbird Firebird Admin/FBPerfMon Settings.
- Vyberte a přidejte databázi, kterou chcete sledovat. Zadejte přesně stejný připojovací řetězec, jaký používáte ve svých aplikacích. Pokud používáte alias - zadejte alias, plný připojovací řetězec - zadejte plnou cestu.
- Přidejte trace session pro databázi
- Vytvořte log databázi (kam se budou ukládat výsledky trace)
- Zadejte parametry pro sledování (zpočátku můžete použít výchozí konfiguraci a později ji změnit, například povolit logování SQL plánů)
- Spusťte trace session. Po úspěšném spuštění uvidíte oznámení a poté budou všechny SQL dotazy a související informace zapisovány do log databáze. Pamatujte, že trace zachycuje data ze všech připojení, takže log může růst poměrně rychle.
- Počkejte nějakou dobu (dostatečnou pro zachycení problematických dotazů, obvykle 15-20 minut) a poté zastavte trace session.
- Spusťte HQbird PerfMon Viewer (z nabídky Start ve Windows) a vyberte ze seznamu log databázi, která byla použita pro poslední trace session (nebo použijte „Open existing database").
- HQbird PerfMon Viewer se spustí s grafy zatížení serveru. Pro zobrazení příkazů klikněte na « Details» a poté na záložce “Statements” seřaďte všechny SQL dotazy podle “Total Time”.
- Zkopírujte texty pomalých SQL dotazů pomocí tlačítka “Copy SQL text”.

Pro více podrobností a detailní vysvětlení se prosím podívejte do HQbird User Guide, sekce 4.3. Monitoring with Trace API: HQbird FBPerfMon, od strany 64.