A expectativa de vida útil da página do SQL Server pode ser muito alta?


8

Eu li vários artigos sobre o Page Life Expectancy do SQL Server e o que isso significa e que tipo de informação você pode obter dele. Na maioria desses artigos que li, um valor PLE comum e saudável está em torno de 1000 a 2000 segundos. Eu li que reduzir para cerca de 300 segundos pode significar que você provavelmente está com pouca RAM.

Recentemente, atualizei nosso hardware para ter 64 GB de RAM, acima dos 14 GB. Nos 14 GB, meu PLE estava em torno de 300 segundos e eu estava com muitas concessões de memória de 5 a 6 pendentes por segundo. Então, isso foi ruim e eu aumentei a RAM. Agora, meu PLE é muito, muito mais alto em torno de 5000 segundos e não há mais concessões de memória pendentes. Eu já vi 7000 segundos, se bem me lembro. Isso é muito maior do que qualquer coisa que eu tenha lido.

Um PLE alto pode ser uma coisa ruim? Ou é quanto maior, melhor?

EDIT: Sinto muito, meu PLE não tinha 7000 segundos, eram 70.000 segundos! Embora, no momento, caia para cerca de 7000.

insira a descrição da imagem aqui

  • O tamanho do banco de dados é de cerca de 160 GB. Algumas tabelas têm mais de 5 milhões de linhas.
  • max_server_memory está definido como 2147483647.

Eu não diria nada para me preocupar muito. É um sistema feliz #
21715 Shanky

Respostas:


15

Não , não consigo pensar em nenhuma situação ou teoria na minha cabeça que possa ilustrar um efeito colateral negativo para um PLE astronomicamente alto (a menos que você goste do zumbido dos pratos em uma unidade de disco rígido? ).

Com a memória ficando cada vez mais barata e os compradores de hardware ficando um pouco mais generosos, essas caixas de memória maiores, vemos que é bastante comum ter PLE na faixa de milhares e milhares. É simplesmente uma indicação de que sua instância pode não estar sob pressão de memória. Leve-o para o que é, e apenas isso.

A expectativa de vida útil da página é apenas uma estimativa que o SQL Server faz sobre quanto tempo ela acha que uma página durará em um buffer. Esta é a maneira do SQL Server dizer que acha que vai demorar "um tempo" .

Outra coisa a notar, siga o conselho de Paul Randal e não se concentre no PLE relatado pelo gerenciador de buffer . Como todas as médias, o gerenciador de buffer pode ocultar PLEs diferentes . Você deseja examinar todos os PLEs de todos os nós NUMA individuais com o contador do nó de buffer :

Get-Counter -ListSet "*" | 
    Select-Object -ExpandProperty Counter | 
    Where-Object {$_ -like "*buffer node*page life expectancy*"} | 
    Get-Counter

A expectativa de vida da página é simplesmente uma cor na bela pintura que é a memória do SQL Server. Veja-o junto com as outras "cores" (destino / memória total do servidor, mbytes disponíveis etc.). Com muita freqüência, as pessoas olham para uma métrica simples e temem que seu servidor esteja prestes a explodir, ou, inversamente, que ele permanecerá por séculos não gerenciado.


2
Tom me convenceu disso - além disso, gostaria de acrescentar que isso "não necessariamente" significa que o SQL Server está sob pressão de memória - mas que a carga de trabalho não está fazendo uso efetivo do buffer pool e que pode querer ser ajustado ou mudou.
Sean Gallardy - Usuário aposentado

Eu encontrei valores que são extremamente elevados e se parece com os seus são simplesmente errado: dba.stackexchange.com/questions/119405/...
Magier
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.