Eu tenho um servidor físico executando uma instância do SQL Server.
Percebo que muitas vezes esse servidor está executando com 100% de uso da CPU.
Minha equipe de TI não está feliz com isso e sugeriu que reservássemos dois dos 32 núcleos para o sistema operacional.
Isso funciona muito bem, agora o pico máximo de uso é inferior a 90%. Além disso, a recuperação lenta de dados de vários usuários não é mais relatada.
Existe algum motivo para NÃO usar o WSRM (Windows System Resource Manager) dessa maneira - em vez do SQL Resource Governor?
sql-server
configuration
windows
resource-governor
ManInMoon
fonte
fonte
Respostas:
Existe alguma razão para NÃO usar a abordagem que você definiu? Absolutamente.
Imagine que você comprou um carro - um carro que, quando você atinge 50 MPH, o motor começa a superaquecer. Sua reação a essa situação seria limitar artificialmente o carro a 49 MPH ou descobrir qual é o problema do motor?
Por que você deve limitar seu carro a 49MPH? O fabricante afirmou que poderia dirigir tão rápido quanto 80MPH - você gosta de dirigir seu carro rápido e deseja alcançá-lo nessa velocidade - se não fosse por esse maldito problema de superaquecimento.
O carro que você comprou também era muito, muito caro. Cada cilindro do motor precisa ser utilizado ao máximo para que você não desperdice esse dinheiro!
Ao limitar artificialmente o acesso dos servidores SQL à CPU, você perde desempenho. Você pode ter resolvido temporariamente os problemas de desempenho, garantindo que a CPU esteja disponível para o sistema operacional, mas você não respondeu à pergunta real - POR QUE o SQL Server está usando 100% da CPU?
Meu conselho é o seguinte:
Descubra qual é o problema real e corrija-o. Não cubra a questão com o que é efetivamente um argumento. A questão vai reaparecer e bater-lhe na cara para baixo da linha quando a carga de trabalho do servidor aumenta naturalmente com o crescimento.
Como uma correção temporária , o administrador de recursos pode ser usado para diminuir a CPU usada, ATÉ QUE VOCÊ ENCONTRE O PROBLEMA REAL.
fonte
Erik Darling mencionou a maior razão prática para não usar o WSRM em um comentário sobre sua pergunta:
Se isso estiver funcionando para você, fique com ele - estamos todos ocupados e você pode gastar tanto tempo em qualquer problema. A solução ideal seria corrigir as questões / questões subjacentes que estão direcionando a CPU ao ponto de problemas perceptíveis pelo usuário (que George aborda em sua excelente resposta ).
Erik continua dizendo
Do ponto de vista comercial, essa é provavelmente a pior parte do negócio do WSRM - você está pagando licenciamento por núcleo para 2 núcleos que não estão sendo usados explicitamente. No momento da redação deste artigo, restam US $ 3 mil ou US $ 14 mil em cima da mesa (dependendo do padrão x do Enterprise).
fonte