Πώς μπορούμε να δούμε τι CPU Usage είχαμε ανά λεπτό στον SQL Server
Τελευταίες δημοσιεύσεις από Stratos Matzouranis (Προβολή όλων)
- Πώς ενεργοποιούμε το Unified Auditing σε Oracle Database - 7 Οκτώβριος 2024
- Τι είναι η PostgreSQL και πως κάνουμε μία πλήρης εγκατάσταση - 2 Σεπτέμβριος 2024
- Πώς ρυθμίζουμε το replication του GoldenGate ώστε να διαβάζει από το Standby του Oracle Data Guard - 2 Αύγουστος 2024
Ο SQL Server κατά την εγκατάσταση του δημιουργεί ένα lightweight Extended Event με μέγεθος έως 5mb στο οποίο καταγράφει πληροφοριές για το performance. Αυτό το Extended Event ονομάζεται system_health και σε αυτό το άρθρο θα δούμε πως μπορούμε με ένα απλό query να δούμε τι CPU Usage είχαμε στον server ανά λεπτό.
Δεν πρέπει να ξεχνάμε όμως ότι οι πληροφορίες γίνονται rollover και επικαλύπτονται με καινούργια data. Οπότε το χρονικό διάστημα που μπορούμε να δούμε στο παρελθόν δεν είναι πολύ μεγάλο.
Ο κώδικας
Το μόνο που χρειάζεται να κάνουμε είναι σε ένα query window να τρέξουμε τον παρακάτω κώδικά:
SELECT time,100-record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'INT') as 'Cpu Usage %' FROM ( SELECT CONVERT(xml, record) AS [record],dateadd (ms,timestamp - (select ms_ticks from sys.dm_os_sys_info),getdate()) as 'Time' FROM sys.dm_os_ring_buffers WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR' AND record LIKE '%<SystemHealth>%' order by time desc) AS x
Το αποτέλεσμα που θα μας επιστρέψει είναι το CPU Usage που είχαμε ανά λεπτό: