2009-09-11 3 views
2

Tout d'abord, la question n'est pas: comment voir le taux de succès du cache SQL Server! Pour celui-là je connais déjà une vue qui contient cette statistique précise.Où puis-je trouver les: 1) hits de cache et 2) statistiques de recherche de cache dans SQL Server

Ma question est en fait: où sont les statistiques brutes d'où le taux de succès est calculé? Le serveur Sql, dans les pages msdn, indique que le taux d'accès au cache est le total des accès au cache divisé par les recherches de cache totales. Donc, je suppose que le RDBMS stocke ces deux valeurs quelque part.

Quelqu'un sait où je peux y accéder?

+0

Qu'en est-il de 2)? –

+0

le 2): P était un peu à gauche de l'endroit où j'ai cliqué. :) Misplacemente de l'espace-temps, je pense! : D – 99Sono

Répondre

2

Je crois que les mesures exactes que vous cherchez sont disponibles via la vue de gestion dynamique (DMV):

Par exemple:

Select * 
from sys.dm_os_performance_counters 
WHERE OBJECT_NAME='SQLServer:Buffer Manager'  

Vous pouvez également utiliser Windows Performance Monitor pour consulter les statistiques du cache de tampon:

Pour des informations détaillées sur les mesures concernant la gestion du tampon SQL Server consulter la référence:

Pour obtenir des informations détaillées sur toute la mémoire SQL Server espace utiliser la commande:

DBCC memorystatus 

Remarque: En ce qui concerne le point 2) de la question, la recherche de page == recherches de cache et encore cette information est disponible dans le DMV afformentioned.

+0

Salut John, merci pour votre temps! La vue système que vous mentionnez dans votre message, sys.dm_os_performance_counters, je l'ai découverte il y a quelques jours. Le problème avec cette vue, et les compteurs que vous mentionnez, c'est qu'ils sont tous des taux. En d'autres termes, ils me donnent les rations et non les valeurs absolues que je recherche. Par exemple, les recherches de pages que vous avez mentionnées sont: recherche de pages/sec. Mon désir est de récupérer les recherches de page à deux points différents dans le temps et de déterminer le total des recherches de pages pour cette période de temps. De même pour les cachehits: de cette façon, je connais exactement l'intervalle de temps pour lequel le ratio est. – 99Sono

0

Si vous avez accès à SQL Server, vous pouvez démarrer SQL Server Profiler qui vous montrera toutes les requêtes qui s'exécutent sur la base de données. Laissez SQL Server Profiler en cours d'exécution & démarrer le test Web enregistré (comme dans VSTS Web Test). Au moins regarder la trace en cours d'exécution vous donnera une bonne idée du nombre de fois que DB est accédé.

Supposons que vous requête est

select * from customer 

voir combien de fois il se produit dans la trace.

Disons que 200 fois

& nombre d'itérations de test, disons 800.

Puis 800/(8-200) = taux de succès de cache.

Questions connexes