Ich habe kürzlich daran gearbeitet, die Daten oder Metriken zu verstehen, die in der Ereignisdatei für erweiterte Ereignisse im Systemzustand gespeichert sind.
Wir versuchen, die Datenerfassung von Leistungsmetriken unter Verwendung des hier bereitgestellten Systemzustands zu implementieren
Es gibt Berichte, die Metriken wie CPU-Auslastung, andere Prozessauslastung usw. enthalten, die aus dem genannten Systemintegritätsereignis erfasst werden
scheduler_monitor_system_health_ring_buffer_recorded
Ich kann für einige meiner ausgelasteten Server nicht verstehen, warum das Feld "process_utilization", das im Bericht als SQL-CPU-Auslastung aufgeführt ist, meistens über 100 liegt. In der Spitzenzeit variiert es zwischen 120 und 160 und aufgrund dessen ist der Bericht Es wird immer eine CPU über 100 angezeigt, obwohl dies beim Aktivitätsmonitor des Servers nie der Fall war.
Ich habe dieses Problem in Github angesprochen, aber es scheint keine Lösung oder Antwort zu geben.
Daher wäre meine Frage
Wie kann ich mithilfe des aufgezeichneten System Health Ring Puffers eine genaue Zahl für die SQL-CPU-Auslastung meiner Server ermitteln?
Der Bericht zeigt auch den Zähler für weniger als 2 Felder an, die pro Bericht berechnet wurden
100-System_idle-process_utilization as OtherProcessUtil
100-system_idle als SystemUtil
Wofür werden diese OtherProcessUtil und SystemUtil benötigt / hilfreich?
- Ich sehe auch, dass die Speicherauslastung jedes Mal immer als 100 angezeigt wird. Das scheint auch nicht richtig zu sein. Hat es jemand bemerkt?
Andere Tools wie Idera & Sentry [die ich getestet habe] zeigen keine CPU-Auslastung über 100% für dieselben Server. Ich habe einen Nebeneinander-Vergleich für dieselbe Ladung durchgeführt.