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.5 1

3.0 e 4.0 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. Resuldados de trace 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

8. Versão do Firebird 5

9. Detalhes de servidor 5

9.1 Versão do SO 5

9.2. VM ou hardware? 5

9.3. CPU 5

9.4 Tamanho de RAM 5

9.5 Discos 6

10. Descrição dos problemas 6

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

Code

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

Code
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

Code

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

Code
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:

Code
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.