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.

Imagem ilustrativa.

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.

Imagem ilustrativa.

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

Deixe uma resposta