Що означає “коефіцієнт потрапляння кеша буфера” у 9990?


12

Я отримав цей запит із публікації в блозі :

SELECT object_name, counter_name, cntr_value
FROM sys.dm_os_performance_counters
WHERE [object_name] LIKE '%Buffer Manager%'
AND [counter_name] = 'Buffer cache hit ratio'

У публікації сказано, що це дасть мені відсоток звернень до кеша. Здавалося, це вказувало на те, що це буде значення 0-100 (це показало результат 87).

Але коли я запускаю його, я отримую дуже високі цифри. Ось приклад:

object_name               counter_name             cntr_value  
SQLServer:Buffer Manager  Buffer cache hit ratio   9990

Це означає 99,90%?

Якщо ні, що це означає? І як я можу отримати реальну цінність?

ПРИМІТКА: Я отримав значення , як низько як 257 і настільки ж високо , як 352363

Наскільки це актуально, ось кілька інших статистик сервера:

  • Тривалість життя сторінки: 145
  • Читання сторінок / сек: 1380,009,009

1
Вибачте, але повідомлення в блозі невірно. :-( Денис Гоббо правильно розуміє ...
Аарон Бертран

Відповіді:


18

Заплутано, правда?

Ну а щоб фактично отримати коефіцієнт, вам потрібно буде зробити це самостійно, використовуючи Buffer cache hit ratio baseдодаток до Buffer cache hit ratioодержання результату Buffer cache hit ratio / Buffer cache hit ratio base.

Спробуйте нижченаведений запит (від меншої точки ), який повинен дати вам шуканий%:

SELECT (a.cntr_value * 1.0 / b.cntr_value) * 100.0 as BufferCacheHitRatio
FROM sys.dm_os_performance_counters  a
JOIN  (SELECT cntr_value, OBJECT_NAME 
    FROM sys.dm_os_performance_counters  
    WHERE counter_name = 'Buffer cache hit ratio base'
        AND OBJECT_NAME = 'SQLServer:Buffer Manager') b ON  a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = 'Buffer cache hit ratio'
AND a.OBJECT_NAME = 'SQLServer:Buffer Manager'


@Aaron Один із тих днів - додано атрибуцію
LowlyDBA


0

Якщо у вас немає екземпляра SQL-сервера за замовчуванням, але названого екземпляра, ви повинні змінити запит таким чином:

  SELECT (a.cntr_value * 1.0 / b.cntr_value) * 100.0 as BufferCacheHitRatio
FROM sys.dm_os_performance_counters  a
JOIN  (SELECT cntr_value, OBJECT_NAME 
    FROM sys.dm_os_performance_counters  
    WHERE counter_name = 'Buffer cache hit ratio base'
        AND OBJECT_NAME LIKE '%:Buffer Manager%') b ON  a.OBJECT_NAME = b.OBJECT_NAME
WHERE a.counter_name = 'Buffer cache hit ratio'
AND a.OBJECT_NAME LIKE '%:Buffer Manager%'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.