L'aspettativa di vita della pagina di SQL Server può essere troppo elevata?


8

Ho letto diversi articoli sull'aspettativa di vita della pagina di SQL Server, sul suo significato e sul tipo di informazioni che puoi ricavarne. Nella maggior parte di questi articoli che ho letto, un valore PLE comune e salutare è di circa 1000-2000 secondi. Ho letto che scendere a circa 300 secondi può significare che probabilmente hai poca RAM.

Di recente ho appena aggiornato il nostro hardware per avere 64 GB di RAM, a partire da 14 GB. Con 14 GB il mio PLE era di circa 300 secondi e avevo in sospeso 5-6 concessioni di memoria al secondo. Quindi, quello era male e ho aumentato la RAM. Ora, il mio PLE è molto, molto più alto di circa 5000 secondi, e non più concessioni di memoria in sospeso. L'ho visto 7000 secondi, se ricordo. Questo è molto più alto di qualsiasi cosa abbia letto.

Un PLE alto può essere una cosa negativa? O è più alto è il migliore?

EDIT: mi dispiace, il mio PLE non era 7000 secondi, erano 70.000 secondi! Anche se, al momento, è sceso a circa 7000.

inserisci qui la descrizione dell'immagine

  • La dimensione del database è di circa 160 GB. Alcune tabelle hanno oltre 5 milioni di righe.
  • max_server_memory è impostato su 2147483647.

Vorrei solo dire nulla di cui preoccuparsi molto. È un sistema felice
Shanky,

Risposte:


15

No , non riesco a pensare a nessuna situazione o teoria nella mia testa che possa illustrare un effetto collaterale negativo per un PLE astronomicamente alto (a meno che non ti piaccia il suono ronzante dei piatti in un disco rigido? ).

Con la memoria sempre più economica e gli acquirenti di hardware che diventano un po 'più generosi, queste scatole di memoria più grandi vediamo che è abbastanza comune avere PLE tra migliaia e migliaia. È semplicemente un'indicazione che la tua istanza potrebbe non essere sotto pressione della memoria. Prendilo per quello che è, e solo per quello.

L'aspettativa di vita della pagina è solo una stima fatta da SQL Server su quanto tempo pensa che una pagina durerà in un buffer. Questo è il modo di SQL Server di dire che pensa che sarà "un po '" .

Un'altra cosa degna di nota, segui i consigli di Paul Randal e non concentrarti sul PLE riportato dal buffer manager . Come tutte le medie, il gestore buffer può nascondere PLE diversi . Si desidera esaminare tutti i PLE dei singoli nodi NUMA con il contatore Nodo buffer :

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

L'aspettativa di vita della pagina è semplicemente un colore nel bellissimo dipinto che è la memoria di SQL Server. Guardalo insieme agli altri "colori" (memoria del server target / totale, mbyte disponibili, ecc.). Troppo spesso le persone osservano una semplice metrica e temono che il loro server stia per esplodere o, al contrario, che vivrà per secoli senza essere gestito.


2
Tom mi ha battuto ad esso - inoltre vorrei aggiungere che non "necessariamente" significa che SQL Server è sotto pressione della memoria - ma che il carico di lavoro non sta facendo un uso efficace del pool di buffer e potrebbe voler essere sintonizzato o cambiato.
Sean Gallardy - Utente in pensione

Ho trovato valori astronomicamente alti e sembra che siano sbagliati: dba.stackexchange.com/questions/119405/…
Magier
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.