Instruções para coletar os dados para otimização de desempenho de Firebird 1
1. Arquivos de configurações: firebird.conf, databases.conf (3 e 4), aliases.conf 1
2. Arquivos dos logs: firebird.log e replication.log 2
3.Metadata do banco gbak -b -m 2
4. Estatistica do BD com gstat -r 2
5. Dados de Lock: fb_lock_print -c -d 3
6.1 Trace com 0 ms de alta frequência, para 2-3 minutos 3
6.2. Trace com 200 ms, para 1 hora mínimo 4
Por favor, nos enviar arquivos firebird.conf, aliases.conf/databases.conf
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
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
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
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
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
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 -user SYSDBA -pass masterkey > locks1.txt
Exemplo por Linux
fb_lock_print.exe -c -d /bases/BD.fdb -user SYSDBA -pass masterkey > locks1.txt
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
Conf para 2.5
<database> 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 </database>
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 }
Conf para 2.5
<database> 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 </database>
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 }
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).
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.
isql -z
Versão do Windows ou versão do Linux (execute cat /etc/*release)
Se VM – VMWare, HyperV, Xen, etc?
Número dos cores, frequência
Se VM – número dos cores no host
Se VM – tamanho de RAM no host e na VM
a) SSD/NVME ou SATA/SAS? Se possível, modelo
b) Tem RAID? Se sim, modelo de RAID
Descreva os problemas de desempenho.