Há meses, o PLE em um de nossos servidores gira em torno de 2 milhões de segundos. Se variava um pouco de dia para dia, mas era bastante estável lá.
No último fim de semana, adicionamos 12 GB de RAM virtual e 1 núcleo de CPU virtual ao servidor. Não alteramos a RAM máxima usada no SQL Server para corresponder à nova RAM nem alocamos o novo núcleo da CPU para o SQL Server.
Desde que isso foi feito, nosso PLE oscilou muito, indo entre 50 e 4 milhões de segundos a cada 10-30 minutos. As mudanças não são uma ascensão ou queda lenta. As métricas vão de muito baixo a muito alto e vice-versa em menos de um minuto.
Nossos tempos de espera gerais para o servidor são bons. As travas são normais. Os tamanhos de cache do buffer e do plano não foram alterados. Não parece haver nenhum padrão consistente de uma consulta específica ou tipo de consulta drenando os recursos.
Nunca vi o PLE fazer isso antes. Alguém pode me indicar o que pode estar faltando ou precisar examinar mais a fundo?
Informações adicionais dos comentários:
- Estamos com 5 CPUs no total, mas usando apenas 3 (estávamos em 4 usando 3).
- Nossa memória total é de 49 GB e a máxima do SQL é de 28 GB.
- Estamos usando VMWare com um sistema operacional x64 (Windows 2008).
- Existem 14 bancos de dados de usuários no servidor, sendo o principal de cerca de 250 GB.
- Buffer Cache Hit Ratio ficou em torno de 98+% desde que tudo começou.
- O plano de energia do servidor está definido como Equilibrado (não Alto Desempenho); no entanto, isso não mudou em vários anos. Com isso dito, concordo plenamente que deve ser de alto desempenho.
- Nem o erro do SQL Server nem os logs de eventos do Windows estão mostrando algo fora do comum.
- A atividade no servidor não mudou nas últimas semanas.
- O servidor reconhece NUMA. O
MAXDOP
é 4, com um limite de custo de 10.
Aumentamos a memória de 28 GB (a quantidade original) para 40 GB, deixando 8 GB de memória para o sistema operacional e outros processos. Imediatamente depois tudo voltou ao normal e permaneceu estável. Um de nossos DBAs especulou que o SQL Server estava confuso sobre a quantidade de memória realmente disponível. Eu verifiquei a memória total do servidor antes e depois e os números eram consistentes com o que vejo nas propriedades do servidor, mas acho difícil contestar essa afirmação