HOS Help Gestão de Conhecimento

Aumentar a performance do Firebird em 20% no Windows Server 2016


Fato

Aumentar a performance do Firebird em 20% no Windows Server 2016



Causa

Explicação e ajuste para aumentar a performance do Firebird no Windows Server 2016



Solução

Temos notado que a performance no Windows Server 2016 é menor do que nas versões anteriores, considerando o mesmo hardware e o mesmo banco de dados.

Há uma opção que influencia drasticamente o desempenho dos Windows Server 2016: o plano de energia.

Por padrão, o Windows 2016 usa o plano de energia Equilibrado, que equilibra automaticamente o desempenho x consumo de energia nos hardwares compatíveis. Esse plano equilibrado de energia no Windows Server 2016 suprime consideravelmente o desempenho da CPU, diminuindo o desempenho geral do servidor.

É possível mudar o plano de energia em tempo real, sem necessidade de reiniciar o servidor.

Veja o efeito prático da mudança do plano de energia para a configuração "Alta Performance", em um servidor com Banco de dados Firebird servindo 70 conexões:


Efeito do plano de energia de alto desempenho no uso da CPU

Isso mostra apenas o uso da CPU, mas como fica o desempenho global? Fizemos vários testes semelhantes ao TPCC (simulação de uma aplicação OLTP), e obtivemos os seguintes números:


Plano de energia Throughput de TPC-C (quanto maior melhor)
Equilibrado 17029
Alto desempenho 21226


Este teste é altamente focado em disco, então a diferença mostrada é de apenas 20%, mas para as operações que dependem mais de CPU, a melhoria pode ser ainda maior.


Além disso, efetuamos o teste de restauração (com gbak - c) do banco de dados Firebird 2.5 de 144Gb, com planos de energia diferente:

Plano de energia Tempo de restauração (a menos, melhor)
Equilibrado 4 horas e 7 minutos
Alto desempenho 2 horas e 35 minutos


Alterar o plano de energia quase dobrou o desempenho de restauração! Por que temos um aumento de desempenho tão perceptível? A resposta está nos índices: durante a restauração, eles usam intensamente a CPU para ordenação de valores.

Observe os valores de tempo de restauração do gbak (em segundos), para os 5 maiores índices.

Com gbak e plano de energia equilibrado:

gbak: 9529.339 1230.343 5028900 346529 activating and creating deferred index INDMF_TAG_PLC_DATA_DT_D
gbak: 10787.610 1258.270 5028909 233365 activating and creating deferred index INDMF_TAG_PLC_DATA_TAG_D
gbak: 11824.329 1036.718 5028907 216488 activating and creating deferred index INDMF_TAG_PLC_DATA_LU_D
gbak: 12571.012 746.683 5028907 265160 activating and creating deferred index INDMF_TAG_PLC_DATA_C1
gbak: 13304.334 733.321 5028908 359393 activating and creating deferred index PKMNF2_DOC_DOWNTIME
Tempo total: 3.775 segundos

Com o plano de energia de alto desempenho:

gbak: 5301.785 615,045 5028900 346529 activating and creating deferred index INDMF_TAG_PLC_DATA_DT_D
gbak: 5924.667 622.882 5028909 233365 activating and creating deferred index INDMF_TAG_PLC_DATA_TAG_D
gbak: 6569.815 645.147 5028907 216488 activating and creating deferred index INDMF_TAG_PLC_DATA_LU_D
gbak: 7186.322 616.506 5028907 265160 activating and creating deferred index INDMF_TAG_PLC_DATA_C1
gbak: 7894.340 708.018 5028908 359393 activating and creating deferred index PKMNF2_DOC_DOWNTIME

Tempo total: 2.593 segundos

Resumo

Então, essa simples configuração no Painel de controle -> Hardware ->Opções de energia, pode melhorar significativamente o desempenho de banco de dados Firebird no Windows Server 2016. Verifique e habilite o plano de energia de alto desempenho!



Autor: IBSurgeon
Tradução: Carlos H. Cantu