Instruções
Instruções para coletar os dados para otimização de desempenho de Firebird
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
7. Teste simples de Insert Update Delete 5
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):
/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).
/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 doSO
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.