quarta-feira, 14 de agosto de 2019

SQL SERVER - Opções de energia, planos de energia e desempenho do banco de dados.

     Recentemente acabei por um cenário muito interessante, o servidor de dados estava funcionando perfeitamente por um tempo considerável e não estava enfrentando nenhum problema de desempenho. No entanto, de repente, sem fazer nenhuma alteração, o desempenho do servidor caiu. Eles imediatamente nos acionaram e, começamos sistematicamente a verificar o desempenho do SQL Server e percebemos que eles não tinham problemas de CPU, I/O ou muito menos memória. Além disso, todos os trabalhos de manutenção também estavam funcionando de forma eficiente (jobs noturnos - reindexação - etc). Isso nos levou a finalmente considerar problemas do sistema operacional (Windows Server).

Opções de energia de alto desempenho - Power Option (High performance)

O maior quebra-cabeça à nossa frente era estranho. Tivemos uma query que era executada em 1 segundo e agora leva mais de 8 segundos. Nós também investigamos mais de 10 querys diferentes e descobrimos que todas elas estavam rodando muito lentas.

Como todos os benchmarks de minhas verificações de integridade do SQL Server estavam limpos. Eu decidi olhar para a configuração do Windows. Depois de olhar para o antivírus, abrimos a Opção de Energia para então descobrir que ela foi alterada de Alto Desempenho / Balanceada.



No Windows Server 2008 e superiores, defina o plano de energia " Alto Desempenho " no  Painel de Controle -> Opções de Energia -> OK . Por padrão, o Windows Server define o plano de energia “Equilibrado”, que permite a conservação de energia dimensionando o desempenho do processador com base na utilização atual da CPU.

Se um servidor exigir uma latência ultra baixa, frequência de CPU INvariável ou os níveis de desempenho mais altos, como servidores de banco de dados, talvez não seja útil que os processadores continuem alternando para estados de desempenho inferior (Equilibrado).

Por fim depois que mudamos a opção de energia para o alto desempenho, conseguimos restaurar o desempenho do sistema para um desempenho de referência anterior.

Eu recomendo fortemente que todos que estão executando o SQL Server em servidores gerenciados Windows Server mantenham seu Plano de Energia default como um Plano de "Alto Desempenho" para evitar qualquer degradação de performance não desejada.