2 votes

Comment voir le taux de réussite du cache du serveur SQL ?

J'utilise SQL Server 2008 Enterprise. Je vais envoyer de nombreuses requêtes à SQL Server. Et je pense que le serveur SQL lui-même utilisera certaines optimisations internes, comme la récupération préalable des données dans le cache de données interne du serveur SQL ou l'accès aux données fréquemment demandées dans le cache avant le chargement à partir du fichier de page physique afin d'améliorer les performances.

Quelles sont les solutions pour voir le taux de réussite du cache interne de SQL Server ? Ou des bonnes pratiques pour régler le cache afin d'améliorer les performances des requêtes ?

Merci d'avance, Georges

8voto

Mitch Wheat Points 466

Jetez un coup d'œil à BOL : SQL Server, objet de gestion de mémoire tampon .

Les deux domaines que vous devez examiner en priorité sont les suivants :

  • Cache de procédure est la zone de mémoire où SQL stocke vos plans de requête.

  • Cache tampon est la zone de la mémoire où sont stockées les pages de données.

Compteurs perfmon pertinents :

  • Taux de réussite du cache tampon
  • Page espérance de vie
  • Lecture de pages/s

Principaux problèmes de performance de SQL Server 2005 pour les applications OLTP contient les éléments suivants :

Goulot d'étranglement du processeur si

  • Temps d'attente pour les signaux > 25 % du temps d'attente total. Voir sys.dm_os_wait_stats pour Signal et le nombre total d'attentes. Attentes de signal mesurent le temps passé dans la file d'attente en attente de l'unité centrale. Un signal élevés indiquent un goulot d'étranglement au niveau de l'unité centrale.

  • Réutilisation du plan < 90 % . Un plan de requête est utilisé pour exécuter une requête. La réutilisation du plan est souhaitable pour les charges de travail OLTP car le fait de recréer le même plan (pour des requêtes transactions similaires ou identiques) est un gaspillage des ressources de l'unité centrale. Comparez SQL Serv requêtes/sec à compilations SQL/sec. Calculez la réutilisation des plans comme suit : Plan réutilisation du plan = (requêtes par lots - compilations SQL compilations) / Demandes par lots. Exemple particulier du plan : Les plans à coût zéro ne seront pas mis en cache (non réutilisés) dans SQL 2005 SP2. Les applications qui utilisent des plans à coût zéro auront une réutilisation de plan plus faible, mais ce n'est mais ce n'est pas un problème de performance.

  • Type d'attente parallèle cxpacket > 10% des attentes totales. Le parallélisme sacrifie les ressources de l'unité centrale pour la vitesse d'exécution. Compte tenu des volumes élevés de l'OLTP, les requêtes parallèles réduisent généralement le et doivent être évitées. Voir sys.dm_os_wait_stats pour les statistiques d'attente pour les statistiques d'attente.

Goulot d'étranglement de la mémoire si

  • Durée de vie moyenne des pages constamment faible. Voir Compteur de durée de vie moyenne des pages qui se trouve dans l'objet objet Perfmon SQL Server buffer Manager (ce compteur représente la durée de vie moyenne d'une page). moyenne de la durée de vie des pages. dans le cache). Pour l'OLTP, une durée de vie moyenne d'une page une durée de vie moyenne de 300 pages est de 5 minutes. Toute valeur inférieure peut indiquer que la mémoire mémoire, des index manquants ou un vidage de cache.

  • Baisse soudaine et importante de l'espérance de vie des pages. Les applications OLTP (par exemple petites transactions) devraient avoir une durée de vie constante constante (ou augmentant lentement). Voir l'objet Perfmon SQL Server buffer Manager.

  • Octroi de mémoire en attente. Voir le compteur Memory Grants Pending, dans l'objet Perfmon SQL Server Memory Manager. Les petites transactions OLTP ne devraient pas pas nécessiter un octroi de mémoire important.

  • Baisse soudaine ou taux d'accès au cache SQL constamment bas. Applications OLTP (par exemple sm un taux de réussite du cache élevé. Étant donné que les transactions OLTP sont petites, il ne devrait pas y avoir il ne devrait pas y avoir (1) de fortes baisses dans les taux de ou (2) de faibles taux d'accès au cache de la mémoire cache < 90 %. Les baisses ou les faibles taux d'accès au cache peuvent être le signe d'un mauvais fonctionnement du système. cache peuvent indiquer une pression sur la mémoire ou des index manquants.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X