L'espérance de vie de page de SQL Server peut-elle être trop élevée?


8

J'ai lu plusieurs articles sur l'espérance de vie des pages de SQL Server et ce que cela signifie et le type d'informations que vous pouvez en tirer. Dans la plupart de ces articles que j'ai lus, une valeur PLE saine et courante se situe entre 1000 et 2000 secondes. J'ai lu que descendre à environ 300 secondes peut signifier que vous êtes probablement faible en RAM.

Récemment, je viens de mettre à niveau notre matériel pour avoir 64 Go de RAM, contre 14 Go. Sur les 14 Go, mon PLE était d'environ 300 secondes, et j'avais de 5 à 6 allocations de mémoire en attente par seconde. Donc, c'était mauvais et j'ai augmenté la RAM. Maintenant, mon PLE est beaucoup, beaucoup plus élevé autour de 5000 secondes, et plus aucune allocation de mémoire en attente. Je l'ai vu 7 000 secondes, si je me souviens bien. C'est beaucoup plus élevé que tout ce que j'ai lu.

Un PLE élevé peut-il être une mauvaise chose? Ou est-ce que plus c'est élevé, mieux c'est?

EDIT: Je suis désolé, mon PLE n'était pas de 7 000 secondes, c'était 70 000 secondes! Bien que, pour le moment, il soit descendu à environ 7000.

entrez la description de l'image ici

  • La taille de la base de données est d'environ 160 Go. Quelques tables ont plus de 5 millions de lignes.
  • max_server_memory est défini sur 2147483647.

Je ne dirais rien à craindre. C'est un système heureux
Shanky

Réponses:


15

Non , je ne peux penser à aucune situation ou théorie dans ma tête qui pourrait illustrer un effet secondaire négatif pour un PLE astronomiquement élevé (à moins que vous n'aimiez le bourdonnement des plateaux d'un disque dur? ).

Avec la mémoire de moins en moins chère, et les acheteurs de matériel un peu plus généreux, ces plus grandes boîtes de mémoire, nous voyons qu'il est assez courant d'avoir un PLE dans la gamme des milliers et des milliers. C'est simplement une indication que votre instance n'est peut-être pas sous pression mémoire. Prenez-le pour ce qu'il est, et seulement cela.

L'espérance de vie de la page n'est qu'une estimation que SQL Server fait sur la durée de vie d'une page dans un tampon. C'est la façon dont SQL Server dit qu'il pense que ce sera "un moment" .

Autre chose à noter, suivez les conseils de Paul Randal et ne vous concentrez pas sur le PLE rapporté par le gestionnaire de tampons . Comme toutes les moyennes, le gestionnaire de tampons peut masquer différents PLE . Vous voulez regarder tous les PLE des nœuds NUMA individuels avec le compteur Buffer Node :

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

L'espérance de vie de la page est simplement une couleur dans la belle peinture qu'est la mémoire SQL Server. Regardez-le avec les autres "couleurs" (mémoire cible / totale du serveur, mbytes disponibles, etc.). Trop souvent, les gens regardent une métrique simple et craignent que leur serveur soit sur le point d'exploser, ou inversement qu'il ne vive pas pendant des siècles.


2
Tom m'a battu - en plus je voudrais ajouter que cela ne signifie pas "nécessairement" que SQL Server est sous pression mémoire - mais que la charge de travail n'utilise pas efficacement le pool de tampons et peut vouloir être réglée ou modifié.
Sean Gallardy - Utilisateur retraité

J'ai trouvé des valeurs astronomiquement élevées et il semble que ce soit juste faux: dba.stackexchange.com/questions/119405/…
Magier
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.