Instruções

Instruções para coletar os dados para otimização de desempenho de Firebird

 

 

1. Arquivos de configurações: firebird.conf, databases.conf (3 e 4), aliases.conf

Por favor, nos enviar arquivos firebird.conf, aliases.conf/databases.conf

2.5

Windows – caminho padrao

C:\Program Files\Firebird\Firebird_2_5\firebird.conf

C:\Program Files\Firebird\Firebird_2_5\aliases.conf

 

Linux

/opt/firebird/firebird.conf

/opt/firebird/aliases.conf

 

3.0 e 4.0

Windows – caminho padrao

C:\Program Files\Firebird\Firebird_3\firebird.conf

C:\Program Files\Firebird\Firebird_3\databases.conf

 

Linux

/opt/firebird/firebird.conf

/opt/firebird/databases.conf

 

2. Arquivos dos logs: firebird.log e replication.log

Por favor, nos enviar arquivos firebird.log e (se existe) replication.log

C:\Program Files\Firebird\Firebird_2_5\firebird.log

C:\Program Files\Firebird\Firebird_2_5\replication.log

C:\Program Files\Firebird\Firebird_3\firebird.log

C:\Program Files\Firebird\Firebird_3\replication.log

C:\Program Files\Firebird\Firebird_4\firebird.log

C:\Program Files\Firebird\Firebird_4\replication.log

 

3.Metadata do banco gbak -b -m

Por favor, nos enviar arquivos com metadata de BDs (em zip/rar/7z).

Execute o comando em command prompt (cmd.exe no Windows ou bash no Linux), pra cada base de dados!

 

gbak.exe -b -m -g localhost:Disk:\Caminho\BD.fdb Disk:\Caminho\metabackup1.fbk

Exemplo por Windows

gbak -b -m -g localhost:C:\bases\BD.fdb C:\temp\metabackup1.fbk -user SYSDBA -pass masterkey

Exemplo por Linux

/opt/firebird/bin/gbak -b -m -g localhost:/bases/BD.fdb /tmp/metabackup1.fbk -user SYSDBA -pass masterkey

4. Estatistica do BD com gstat -r

Por favor, nos enviar arquivos stat1.txt com estatistica de BD (em zip/rar/7z).

Execute o comando em command prompt (cmd.exe no Windows ou bash no Linux), pra cada base de dados!

 

gstat -r localhost:Disk:\Caminho\BD.fdb -user SYSDBA -pass masterkey > stat1.txt

 

Exemplo no Windows

gstat.exe -r localhost:C:\bases\BD.fdb -user SYSDBA -pass masterkey > stat1.txt

Exemplo no Linux

/opt/firebird/bin/gstat -r localhost:/bases/BD.fdb -user SYSDBA -pass masterkey > stat1.txt

5. Dados de Lock: fb_lock_print -c -d

Por favor, nos enviar arquivos lock1.txt com dados de lock de BD (em zip/rar/7z).

Execute o comando em command prompt (cmd.exe no Windows ou bash no Linux), pra cada base de dados!

 

fb_lock_print -c -d Disk:\Caminho\BD.fdb > locks1.txt

 

Exemplo por Windows

fb_lock_print.exe -c -d C:\bases\BD.fdb  > locks1.txt

Exemplo por Linux

fb_lock_print.exe -c -d /bases/BD.fdb  > locks1.txt

6. Resuldados de trace

Por favor, nos enviar arquivos com resuldados de trace de BD (em zip/rar/7z).

No primeiro, ler instrucoes como lançar o Trace (passos 1-3):

https://ib-aid.com/en/articles/como-vizualizar-firebird-trace

6.1 Trace com 0 ms de alta frequência, para 2-3 minutos

Conf para 2.5


enabled true
log_connections true
log_transactions true
log_statement_finish true
log_errors true
print_plan true
print_perf true
time_threshold 0
max_sql_length 65000
max_blr_length 500
max_dyn_length 500
max_arg_length 80
max_arg_count 50


 

Conf para 3.0 e 4.0

database
{
        enabled = true
        time_threshold = 0
        log_connections = true
        log_transactions = 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
}


 


 


 

6.2. Trace com 200 ms, para 1 hora mínimo

Conf para 2.5


enabled true
log_connections true
log_transactions 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


 

Conf para 3.0 e 4.0

database
{
        enabled = true
        time_threshold = 200
        log_connections = true
        log_transactions = 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
}


 

7. Teste simples de Insert Update Delete

Por favor, nos enviar arquivo com resuldados de teste.


 

Para executar o teste, copie e cole o texto (no link) no arquivo de texto e altere o caminho para o banco de dados - no exemplo, a string de conexão está no formato Firebird 3 XNET, mas você pode alterá-la para TCP (localhost:Disk:\ path\database.fdb) ou cadeia de conexão embedded (disco:\path\database.fdb).

 

https://ib-aid.com/en/simple-insert-update-delete-test-for-firebird/#how_to_run_firebird_performance_test


Esse teste cria um banco de dados, cria uma tabela com vários índices e, em seguida, executa 1 milhão de operações INSERT, UPDATE e DELETE.
Se você armazenou o arquivo sql em c:\temp\dml-basic-benchmark.sql, execute este script com o seguinte comando:

 

isql -i c:\temp\dml-basic-benchmark.sql

Este script criará um banco de dados de aproximadamente 3,6 Gb de tamanho. Não se esqueça de excluí-lo após o teste.

 

8. Versão do Firebird

 

isql -z

 

9. Detalhes de servidor

9.1 Versão do SO

Versão do Windows ou versão do Linux (execute cat /etc/*release)

9.2. VM ou hardware?

Se VM – VMWare, HyperV, Xen, etc?

9.3. CPU

Número dos cores, frequência

Se VM – número dos cores no host

9.4 Tamanho de RAM

Se VM – tamanho de RAM no host e na VM

9.5 Discos

a) SSD/NVME ou SATA/SAS? Se possível, modelo

b) Tem RAID? Se sim, modelo de RAID

10. Descrição dos problemas

Descreva os problemas de desempenho.