Como rastrear consultas SELECT lentas no banco de dados Firebird em produção
Firebird SQL possui meios muito adequados para rastrear consultas SQL lentas e outros problemas de desempenho através do mecanismo chamado plugins TraceAPI. O HQbird (distribuição avançada do Firebird para grandes bancos de dados) inclui a ferramenta FBPerfMon, que implementa o TraceAPI e oferece uma interface gráfica fácil para rastrear todos os problemas de desempenho no Firebird.
Para encontrar as instruções SQL SELECT mais lentas nos bancos de dados Firebird em produção, use as seguintes instruções:
- Solicite informações de download do HQbird download. (a versão de avaliação será suficiente para uma verificação rápida). As informações de download serão enviadas por e-mail.
- Baixe e instale o HQbird ServerSide no servidor (Windows ou Linux) e o HQbird Admin no computador com Windows. No Windows, o instalador do HQbird ServerSide instalará o plugin Trace API necessário automaticamente (para Firebird 2.5 ou 3.0, para 32 bits ou 64 bits), no Linux será necessário copiar manualmente para a pasta Firebird/plugin. Remova o plugin padrão (fbtrace.dll/fbtrace.so) e reinicie o Firebird para ativar o novo plugin.
- Inicie o HQbird PerfMon Settings no menu Iniciar do Windows: IBSurgeon/HQbird Firebird Admin/FBPerfMon Settings.
- Selecione e adicione o banco de dados a ser rastreado. Especifique exatamente a mesma string de conexão que você usa em seus aplicativos. Se você usar alias - especifique o alias, a string de conexão completa - especifique o caminho completo.
- Adicione a sessão de rastreamento para o banco de dados
- Crie o banco de dados de log (onde armazenar os resultados do rastreamento)
- Especifique os parâmetros a rastrear (você pode usar a configuração padrão inicialmente e alterá-la depois, por exemplo, habilitar o log do plano SQL)
- Inicie a sessão de rastreamento. Após o início bem-sucedido, você verá a notificação, e então todas as consultas SQL e informações relacionadas serão gravadas no banco de dados de log. Lembre-se de que o rastreamento captura dados de todas as conexões, então o log pode crescer rapidamente.
- Aguarde algum tempo (suficiente para capturar consultas problemáticas, geralmente 15-20 minutos) e então pare a sessão de rastreamento.
- Inicie o HQbird PerfMon Viewer (no menu Iniciar do Windows) e selecione na lista o banco de dados de log que foi usado para a sessão de rastreamento recente (ou use “Abrir banco de dados existente”).
- O HQbird PerfMon Viewer inicia com os gráficos de carga do servidor; para ver as instruções, clique em « Detalhes» e depois na aba “Instruções” classifique todas as consultas SQL por “Tempo Total”.
- Copie os textos das consultas SQL lentas com o botão “Copiar texto SQL”.

Para mais detalhes e explicações detalhadas, consulte o Guia do Usuário do HQbird, seção 4.3. Monitoramento com Trace API: HQbird FBPerfMon, a partir da página 64.