Как можно отслеживать улучшение кеша запросов? - PullRequest
1 голос
/ 12 мая 2010

Я настраиваю ad hoc моего веб-приложения. В результате я ожидаю, что кэш плана запросов уменьшится в размере и будет иметь более высокий коэффициент попадания. Возможно, даже другие важные показатели будут улучшены.

Могу ли я использовать perfmon для отслеживания этого? Если да, то какие счетчики мне следует использовать? Если бы не perfmon, как я мог бы сообщить о влиянии этого изменения?

Ответы [ 2 ]

1 голос
/ 12 мая 2010

SQL Server, объект кэша плана

Коэффициент попадания в кэш Соотношение между попаданиями в кэш и поиском.
Количество объектов кэша Количество объектов кэша в кэше.
Cache Pages Количество страниц размером 8 килобайт (КБ), используемых объектами кэша.
Используемые объекты кэша Количество используемых объектов кэша.

Также sys.dm_os_memory_clerks и sys.dm_os_memory_cache_counters предоставят информацию о распределении памяти (в целом) и кэшах SQL (в целом). Вас заинтересует выделение для клерка плановой кеш-памяти.

И, наконец, исполняемые DMV: sys.dm_exec_query_stats и sys.dm_exec_cached_plans .

Эти счетчики и DMV должны покрывать то, что вам нужно, более подробно см. Кэширование и повторное использование плана выполнения .

1 голос
/ 12 мая 2010

Вы можете использовать SQL Server Profiler. Создайте новую трассировку и перехватите события TSQL-> Exec Prepared Sql и TSQL-> Prepare Sql. Первый сообщит вам, когда он повторно использует план запроса, а второй - когда он обновляет план.

Вы можете сделать то же самое и для хранимых процедур в категории событий SP.

...