Cette page a été traduite automatiquement. Lisez l'original en anglais. English

Bibliothèque IBSurgeon

Comment collecter la trace Firebird pour l'analyse des performances d'IBSurgeon

Por favor, note: o rastreamento é seguro, pode ser iniciado em produção, não afeta o desempenho caso seja usada a configuração recomendada abaixo.

Esta instrução descreve o uso do IBSurgeon Performance Analysis (parte da assinatura cc.ib-aid.com) para usuários do Firebird padrão (para usuários do HQbird, está disponível na interface na aba “Performance”).

Rastreamento para Firebird 5.0, 4.0 e 3.0

Passo 1 - Arquivo de configuração

Copie a seguinte configuração para o arquivo fbtrace30.conf, ou baixe o arquivo pronto daqui.

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
}

Armazene o arquivo em uma pasta sem espaços, por exemplo, C:\temp\fbtrace30.conf, ou /opt/fbtrace30.conf

Passo 2 - Teste a configuração

Execute o fbtracemgr para verificar se a configuração funciona:

Windows

Abra o prompt de comando (execute cmd.exe), vá para a pasta do Firebird (pode ser C:\Program Files\Firebird\Firebird_3.0. ou C:\HQbird\Firebird30) e execute (use sua senha SYSDBA real em vez de masterkey)

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

Linux

Abra o terminal e execute o fbtracemgr a partir da pasta bin do Firebird (/ opt/firebird/bin ou /usr/local/bin)

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

Como resultado, você verá a saída no prompt de comando, algo como isto:

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

Pare o rastreamento com Ctrl-C (e depois Enter, se necessário).

Passo 3 - Coletar log

Se você não vir erros na etapa anterior, execute o rastreamento para coletar a saída para o arquivo de log, c:\temp\log1.log no exemplo:

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

Mantenha-o em execução para capturar as consultas SQL problemáticas por um tempo (o mínimo é 3-4 minutos, o recomendado é 1 hora) e, em seguida, interrompa o fbtracemgr com Ctrl-C.

Passo 4. Enviar logs

Envie o arquivo de log resultante para a Visualização de Trace em cc.ib-aid.com

Observe que, se o tamanho do arquivo de log for superior a 20Mb, compacte-o (com o zip padrão do Windows ou com zip do Linux ou 7zip) e envie o log compactado.

Próximos passos

Veja o exemplo de análise de log aqui: /articles/example-of-performance-analysis

Rastreamento para Firebird 2.5

Passo 1 - Arquivo de configuração

Copie a seguinte configuração para o arquivo fbtrace25.conf, ou baixe o arquivo pronto daqui.

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>

Armazene o arquivo em uma pasta sem espaços, por exemplo, C:\temp\fbtrace25.conf, ou /opt/fbtrace25.conf

Passo 2 - Testar configuração

Execute o fbtracemgr para verificar se a configuração funciona:

Windows

Abra o prompt de comando (execute cmd.exe), vá para a pasta Bin do Firebird (pode ser C:\Program Files\Firebird\Firebird_2.5.in ou C:\HQbird\Firebird25.in) e execute (use sua senha SYSDBA real em vez de masterkey)

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

Como resultado, você verá a saída no prompt de comando, algo como isto:

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

Abra o terminal e execute o fbtracemgr a partir da pasta bin do Firebird (/opt/firebird/bin ou /usr/local/bin)

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

Passo 3 - Coletar logs

Se você não vir erros na tela, execute o rastreamento para coletar a saída dos dados para o arquivo, c:\temp\log1.log no exemplo:

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

Mantenha-o em execução para capturar as consultas SQL problemáticas por um tempo (o mínimo é 3-4 minutos, o recomendado é 1 hora) e, em seguida, interrompa o fbtracemgr com Ctrl-C.

Passo 4. Enviar resultados

Envie o arquivo de log resultante para a Visualização de Trace em cc.ib-aid.com

Observe que, se o arquivo de log for maior que 20Mb, compacte-o (com o zip padrão do Windows ou com gz do Linux ou 7zip) e envie o log compactado. O tamanho do log compactado é limitado a 1Gb; arquivos de log maiores serão excluídos.

Você precisa ter uma conta para fazer login.

Após o login, clique em “Upload” no canto superior direito do widget “Traces”:

Selecionar Upload trace

Em seguida, selecione o arquivo de log de trace (máx. 120Mb) no disco e clique em Upload:

selecionar log de trace para enviar

O upload pode levar de 1 a 2 minutos, dependendo da velocidade de upload da sua conexão com a Internet e da conectividade geral. Arquivos compactados são enviados mais rápido devido ao tamanho reduzido!

Então você verá o arquivo enviado como “Processing”:

O processamento geralmente leva de 1 a 2 minutos. Você precisa usar o botão “Refresh” para ver o status do processamento.

Após a conclusão do processamento, você verá links para o relatório de resumo de desempenho (coluna “Trace summary report”, link “Html”) e para a representação gráfica do rastreamento (coluna e link “Graphs”):

Se você clicar em “Html”, a nova página com o relatório de resumo do trace aparecerá.

O relatório contém listas das principais consultas, ordenadas por duração (ou seja, as consultas mais longas), frequência (as consultas mais frequentes), resumo de tempo (consultas SQL que levaram a maior parte do tempo), buscas (consultas que mais consomem CPU), leituras (leituras de disco) e gravações (gravações de disco).

Além disso, há um resumo de processos, onde você pode ver os aplicativos que consumiram a maioria dos recursos.

Se você clicar em “Graphs”, verá a representação gráfica do log de trace, com as principais consultas, agrupadas por minuto (pelo momento de término da execução das consultas).

Se você clicar em um momento específico, verá as principais consultas do log de trace, seu plano, parâmetros e estatísticas:

Próximos passos

Veja o exemplo de análise de log aqui: /articles/example-of-performance-analysis