it-swarm.com.de

Was bedeutet eine "Puffer-Cache-Trefferquote" von 9990?

Ich habe diese Anfrage von einem Blog-Beitrag :

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'

Der Beitrag sagte, dass es mir einen Prozentsatz der Treffer in den Cache geben würde. Es schien darauf hinzudeuten, dass es ein Wert von 0-100 sein würde (es zeigte ein Ergebnis von 87).

Aber wenn ich es laufen lasse, bekomme ich sehr hohe Zahlen. Hier ist ein Beispiel:

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

Bedeutet das 99,90%?

Wenn nicht, was bedeutet das? Und wie kann ich den wirklichen Wert erhalten?

HINWEIS: Ich habe Werte von 257 und von 352363 erhalten. )

Falls es relevant ist, sind hier einige andere Serverstatistiken:

  • Lebenserwartung der Seite: 145
  • Seite liest/Sek.: 1.380.009.009
12
Vaccano

Verwirrend, richtig?

Nun, um tatsächlich das Verhältnis zu erhalten, müssen Sie es selbst mit dem Buffer cache hit ratio base zusätzlich zu Buffer cache hit ratio indem Sie das Ergebnis von Buffer cache hit ratio / Buffer cache hit ratio base.

Versuchen Sie die folgende Abfrage (von Less Than Dot ), die Ihnen den Prozentsatz geben sollte, den Sie suchen:

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'
18
LowlyDBA

Wenn Sie keine Standardinstanz von SQL Server, sondern eine benannte Instanz haben, müssen Sie die Abfrage wie folgt ändern:

  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%'
0
JKO ASOL