What's new in the SQL Server 2014 Resource Governor
Fivi Panopoulou - Sotiris Karras
Wednesday 04 February 2015
Στον SQL Server 2008 εμφανίστηκε για πρώτη φορά ο Resource Governor, όπως παρουσιάσθηκε σε αυτό το post. Το feature αυτό εξελίχθηκε στις επόμενες εκδόσεις και στον 2014 έγιναν πολύ σημαντικές και ενδιαφέρουσες προσθήκες. Με αυτές μας δώθηκε η δυνατότητα ελέγχου του ΙΟ πάνω στον φυσικό δίσκο, δίνοντας πλέον πληρέστερο έλεγχο στα resources του συστήματός μας.
Resource Governor Setting
Αρχικά, στο configuration του Resource Governor προστέθηκε το option MAX_OUTSTANDING_IO_PER_VOLUME, το οποίο αφορά τον μέγιστο αριθμό εργασιών IO τα οποία μπορούν να βρίσκονται στην ουρά της κάθε μονάδας δίσκου. Αξίζει να σημιωθεί, ότι ο αριθμός που θέτουμε δεν είναι ποσοστό και ότι η μέγιστη τιμή που μπορεί να πάρει είναι 100.
Σκοπός της προσθήκης αυτού του option είναι η ρύθμιση του Resource Governor στα μέτρα των δυνατοτήτων του storage που διαθέτει το κάθε σύστημα.
Resource Pool Settings
Στα settings τα οποία αφορούν τα Resource Pools, στις ρυθμίσεις που αφορούσαν την μνήμη και την CPU που χρησιμοποιεί το κάθε ένα, προστέθηκαν ρυθμίσεις για τον ελάχιστο και μέγιστο αριθμό IOPS (I/O οperations per second) ανα disk volume. Αυτά είναι τα settings MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME και μας επιτρέπουν να οριοθετούμε την χρήση του δίσκου, σε ότι αφορά τα read και write operations το συγκεκριμένο resource pool.
Στις παραπάνω ρυθμίσεις, τα disk volumes αντιστοιχούν στα volumes που βλέπουν τα Windows File system APIs.
Monitoring Tools
Στα εργαλεία που μας παρέχονται για την παρακολούθηση του Resource Governor έγιναν προσθήκες για να συμπεριληφθούν οι παράμετροι που αφορούν τις ρυθμίσεις του IO και πληροφορίες για τα read/write operations. Αυτά μας δίνουν την εικόνα που χρειάζεται να έχουμε για να κάνουμε το καλύτερο δυνατό configuration του Resource Governor.
DMV changes
Σε ότι αφορά τα σχετικά με τον Resource Governor DMVs που υπήρχαν προστέθηκαν τα παρακάτω:
- Στo sys.resource_governor_configuration προστέθηκε μια στήλη για τη νέα ρύθμιση του resource governor και έχει το όνομά της (max_outstanding_io_per_volume)
- Στο sys.dm_resource_governor_resource_pools προστέθηκαν στήλες που αφορούν o τις νέες ρυθμίσεις των resource pools (min_iops_per_volume, max_iops_per_volume)
- Στατιστικά για read και write operations του κάθε resource pool.
- Τον αριθμό των φορών που δεν ήταν εφικτό να δοθεί στο resource pool ο ελάχιστος ρυθμός IOPS που θα έπρεπε με βάση τις ρυθμίσεις του. (io_issue_violations_total)
- Την συνολική καθυστέριση από την στιγμή που προγραμματίστικε η εκτέλεση ενός I/O operation μέχρη τιην στιμή που εκτελέστηκε (io_issue_delay_total_ms)
- Νέο dmv sys.dm_resource_governor_resource_pool_volumes το οποίο μας δίνει τις πληροφορίες που προστέθηκαν στην sys.dm_resource_governor_resource_pools, με την διαφορά ότι μας δίνει τα στατιστικά ξεχωριστά για κάθε disk volume που χρησιμοποίησε το resource pool.
XEVENTS
Δύο νέα XEvents σχετικά με την παρακολούθηση των IO requests προστέθηκαν. Αυτά είναι τα file_read_enqueued και file_write_enqueued και σε συνδιασμό με τα events που υπήρχαν για issuing και completion των I/O operations, μπορούμε να έχουμε μια πιο ολοκληρωμένη παρακολούθηση.
Performance Monitor Counters
Τέλος, στον performance monitor που μας παρέχει το λειτουργικό, έχουν προστεθεί νέοι counters οι οποίοι αφορούν τα Resource Pools και τα IO operations τα οποία τους αντιστοιχούν. Οι καινούριοι μετρητές είναι οι:
- Avg Disk Read IO
- Disk Read Bytes/sec
- Disk Read IO Throttled/sec
- Disk Read IO/sec
- Avg Disk Write IO
- Disk Write Bytes/sec
- Disk Write IO Throttled/sec
- Disk Write IO/sec
/* Fivi - Sotiris */