AWR: Πόσο Υπερβολική είναι η Βάση Δεδομένων;

Με αυτή τη σύντομη ανάρτηση θα ήθελα να διαλύσω μια παρεξήγηση που σχετίζεται με την ανάλυση AWR των βάσεων δεδομένων που εκτελούνται στο Oracle Exadata. Για σχεδόν 10 χρόνια, βρίσκομαι συνεχώς αντιμέτωπος με το ερώτημα: ποια είναι η συμβολή απόδοσης του Exadata Software; Ή, χρησιμοποιώντας νεοσχηματισμένες λέξεις: σε ποιο βαθμό είναι «υπερβολικό» το έργο αυτής ή της άλλης βάσης δεδομένων;

AWR: Πόσο Υπερβολική είναι η Βάση Δεδομένων;

Συχνά αυτή η σωστή ερώτηση, κατά τη γνώμη μου, απαντάται λανθασμένα με αναφορά στα στατιστικά στοιχεία AWR. Παρουσιάζει μια μέθοδο αναμονής συστήματος που αντιμετωπίζει τον χρόνο απόκρισης ως το άθροισμα του χρόνου εκτέλεσης του επεξεργαστή (DB CPU) και του χρόνου αναμονής διαφορετικών κλάσεων.

Με την εισαγωγή του Exadata, τα στατιστικά στοιχεία AWR περιλαμβάνουν πλέον συγκεκριμένες προσδοκίες συστήματος που σχετίζονται με τις λειτουργίες του λογισμικού Exadata. Κατά κανόνα, τα ονόματα τέτοιων αναμονής ξεκινούν με τη λέξη "κελί" (ένα κελί είναι διακομιστής αποθήκευσης Exadata), από τις οποίες οι πιο συνηθισμένες είναι οι αναμονές με τα αυτονόητα ονόματα "έξυπνη σάρωση πίνακα κυττάρων", "φυσική ανάγνωση πολλαπλών μπλοκ κελιών" και "φυσική ανάγνωση ενός μπλοκ κελιού".

Στις περισσότερες περιπτώσεις, το μερίδιο τέτοιων αναμονής Exadata στο συνολικό χρόνο απόκρισης είναι μικρό και επομένως δεν εμπίπτουν καν στην ενότητα Top10 συμβάντων στο προσκήνιο κατά συνολικό χρόνο αναμονής (σε αυτήν την περίπτωση, θα πρέπει να τις αναζητήσετε στην ενότητα Συμβάντα αναμονής στο προσκήνιο). Δυσκολευτήκαμε να βρούμε ένα παράδειγμα ημερήσιου AWR από τους πελάτες μας, όπου οι αναμονές Exadata ήταν στην ενότητα Top10 και ήταν συνολικά περίπου 5%:

Συμβάν

Περιμένετε

Συνολικός χρόνος αναμονής (δευτ.)

Μέση Αναμονή

Χρόνος %DB

Τάξη αναμονής

CPU DB

115.2K

70.4

SQL*Net περισσότερα δεδομένα από το dblink

670,196

5471.5

8.16ms

3.3

Δίκτυο

φυσική ανάγνωση ενός μπλοκ κελιού

5,661,452

3827.6

676.07us

2.3

I/O χρήστη

Συγχρονισμός εξισορρόπησης ASM

4,350,012

3481.3

800.30us

2.1

Άλλα

φυσική ανάγνωση πολλαπλών μπλοκ κελιών

759,885

2252

2.96ms

1.4

I/O χρήστη

ανάγνωση απευθείας διαδρομής

374,368

1811.3

4.84ms

1.1

I/O χρήστη

Μήνυμα SQL*Net από το dblink

7,983

1725

216.08ms

1.1

Δίκτυο

έξυπνη σάρωση τραπεζιού κυττάρων

1,007,520

1260.7

1.25ms

0.8

I/O χρήστη

θερμοκρασία ανάγνωσης άμεσης διαδρομής

520,211

808.4

1.55ms

0.5

I/O χρήστη

enq:TM — διαμάχη

652

795.8

1220.55ms

0.5

Εφαρμογή

Από τέτοιες στατιστικές AWR, συχνά εξάγονται τα ακόλουθα συμπεράσματα:

1. Η συμβολή του Exadata magic στην απόδοση της βάσης δεδομένων δεν είναι υψηλή - δεν υπερβαίνει το 5%, και η βάση δεδομένων "exadatas" κακώς.

2. Εάν μια τέτοια βάση δεδομένων μεταφερθεί από το Exadata στην κλασική αρχιτεκτονική «server + array», η απόδοση δεν θα αλλάξει πολύ. Επειδή ακόμα κι αν αυτή η συστοιχία αποδειχθεί ότι είναι τρεις φορές πιο αργή από το σύστημα αποθήκευσης Exadata (πράγμα που δύσκολα είναι δυνατό για τις σύγχρονες συστοιχίες All Flash), τότε πολλαπλασιάζοντας το 5% επί το τρία παίρνουμε μια αύξηση στο μερίδιο της αναμονής I/O στο 15% - η βάση δεδομένων σίγουρα θα το επιβιώσει!

Και τα δύο αυτά συμπεράσματα είναι ανακριβή και, επιπλέον, διαστρεβλώνουν την κατανόηση της ιδέας πίσω από το λογισμικό Exadata. Το Exadata δεν παρέχει απλώς γρήγορη είσοδο/έξοδο. Λειτουργεί θεμελιωδώς διαφορετικά από την κλασική αρχιτεκτονική "διακομιστής + πίνακας". Εάν μια βάση δεδομένων γίνει πραγματικά "exadata", τότε η λογική SQL μεταφέρεται στο σύστημα αποθήκευσης. διακομιστές Χάρη σε μια σειρά από ειδικούς μηχανισμούς (κυρίως τα Δείκτες Αποθήκευσης Exadata, αλλά όχι μόνο), εντοπίζουν αυτόματα τα απαιτούμενα δεδομένα και τα προωθούν στους διακομιστές βάσης δεδομένων. Το κάνουν αυτό αρκετά αποτελεσματικά, επομένως το μερίδιο των τυπικών αναμονών Exadata στον συνολικό χρόνο απόκρισης είναι μικρό. 

Πώς θα αλλάξει αυτό το μερίδιο εκτός Exadata; Πώς θα επηρεάσει αυτό τη συνολική απόδοση της βάσης δεδομένων; Ο καλύτερος τρόπος για να απαντήσετε σε αυτές τις ερωτήσεις είναι μέσω δοκιμών. Για παράδειγμα, η αναμονή για μια «έξυπνη σάρωση τραπεζιού κυψέλης» έξω από το Exadata μπορεί να μετατραπεί σε τόσο βαριά Πλήρη σάρωση πίνακα που το I/O καταλαμβάνει ολόκληρο τον χρόνο απόκρισης και η απόδοση υποβαθμίζεται δραματικά. Αυτός είναι ο λόγος για τον οποίο είναι λάθος να θεωρούμε το συνολικό ποσοστό των προσδοκιών του Exadata ως τη συνεισφορά της μαγείας του στην απόδοση κατά την ανάλυση του AWR, και ακόμη περισσότερο να χρησιμοποιείται αυτό το ποσοστό για την πρόβλεψη της απόδοσης εκτός του Exadata. Για να κατανοήσετε πόσο «υπερβολική» είναι η λειτουργία της βάσης δεδομένων, πρέπει να μελετήσετε τα στατιστικά στοιχεία AWR στην ενότητα «Στατιστικά στοιχεία δραστηριότητας παρουσίας» (υπάρχουν πολλά στατιστικά στοιχεία με αυτονόητα ονόματα) και να τα συγκρίνετε μεταξύ τους.

Και για να κατανοήσετε πώς θα αισθάνεται η βάση δεδομένων εκτός του Exadata, είναι καλύτερο να δημιουργήσετε έναν κλώνο της βάσης δεδομένων από το αντίγραφο ασφαλείας της αρχιτεκτονικής στόχου και να αναλύσετε την απόδοση αυτού του κλώνου υπό φόρτωση. Οι ιδιοκτήτες Exadata έχουν συνήθως αυτήν την επιλογή.

Συντάκτης: Alexey Struchenko, Επικεφαλής του Τμήματος Βάσεων Δεδομένων, Jet Infosystems

Πηγή: www.habr.com

Αγοράστε αξιόπιστη φιλοξενία για ιστότοπους με προστασία DDoS, διακομιστές VPS VDS 🔥 Αγοράστε αξιόπιστη φιλοξενία ιστοσελίδων με προστασία DDoS, διακομιστές VPS VDS | ProHoster