Como o Power Plan pode impactar o seu servidor
Olá pessoal, tudo certo?
No post de hoje vou compartilhar um problema que ocorreu no ano passado, e um colega teve o mesmo problema esse ano, não vou conseguir reproduzir o cenário, mas vou explicar o que aconteceu e como o problema foi solucionado.
Cenário:
No ano passado, atualizamos o ambiente da empresa que trabalho, atualizamos o sistema operacional do nosso servidor para o Windows Server 2012 R2, temos todo um checklist a ser seguido quando instalamos um novo servidor, entre os pontos a ser verificado é a configuração do plano de energia, sempre setamos “High performance”.
Ao fazer o teste de CPU no servidor percebemos que a velocidade dos cores estavam abaixo do esperado. Para fazer essa analise utilizamos a ferramenta CPU-Z.
Executamos um script de validação do ambiente, percebemos que mesmo com a GUI mostrando que o plano em execução era o “High performance” como mostra a primeira imagem, a velocidade de processamento estava abaixo do esperado, verifiquei o registro do Windows (SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes) estava configurado para utilizar o plano “Balanced”, para ajustar o problema o time do Administração de servidores criou uma GPO, para forçar o plano de energia “High performance”. Após a aplicação da GPO, o problema foi resolvido.
Para verificar no registro qual plano de energia estava em execução no servidor, eu executei o script abaixo:
DECLARE @value VARCHAR(64), @key VARCHAR(512) = 'SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes' EXEC master..xp_regread @rootkey = 'HKEY_LOCAL_MACHINE', @key = @key, @value_name = 'ActivePowerScheme', @value = @value OUTPUT; SELECT CASE WHEN @value = '381b4222-f694-41f0-9685-ff5bb260df2e' THEN '(Balanced)' WHEN @value = '8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c' THEN '(High performance)' WHEN @value = 'a1841308-3541-4fab-bc81-f71556f20b4a' THEN '(Power saver)' END GO
Como passamos a forçar o plano através de GPO registro válido para verificação é HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Power\PowerSettings\ActivePowerScheme
DECLARE @value VARCHAR(64), @key VARCHAR(512) = 'SOFTWARE\Policies\Microsoft\Power\PowerSettings' EXEC master..xp_regread @rootkey = 'HKEY_LOCAL_MACHINE', @key = @key, @value_name = 'ActivePowerScheme', @value = @value OUTPUT; SELECT CASE WHEN @value = '381b4222-f694-41f0-9685-ff5bb260df2e' THEN '(Balanced)' WHEN @value = '8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c' THEN '(High performance)' WHEN @value = 'a1841308-3541-4fab-bc81-f71556f20b4a' THEN '(Power saver)' END
Os IDs do planos podem ser listado através do comando:
powercfg -LIST
Após fazer a alteração do registro dos servidores, o servidor passou a ter um melhor desempenho.
Obs:
Toda alteração de registro, você sempre deverá fazer um backup da chave de registro, e em caso de você não ter certeza do que está fazendo, faça sempre acompanhado de um especialista. No caso acima a alteração foi realizada pelo Analista de Infraestrutura, responsável pelo servidores Windows.
Já conhece a comunidade de SQL Server no Espírito Santo? então venha conhecer http://www.tiagoneves.net/blog/comunidade-sql-server-es/
Abraços,
Tiago Neves