Mei dizze koarte post wol ik ien misferstân ferdriuwe yn ferbân mei de analyze fan AWR-databases dy't rinne op Oracle Exadata. Al hast 10 jier bin ik hieltyd konfrontearre mei de fraach: wat is de bydrage fan Exadata Software oan produktiviteit? Of mei help fan nij betocht wurden: hoe "ekspert" is it wurk fan in bepaalde databank?
Faak wurdt dizze korrekte fraach, nei myn miening, ferkeard beäntwurde mei ferwizing nei AWR-statistiken. It presintearret de systeemwachtmetoade, dy't de reaksjetiid behannelet as de som fan 'e wurktiid fan processors (DB CPU's) en de wachttiid fan ferskate klassen.
Mei de komst fan Exadata ferskynden spesifike systeemferwachtingen yn ferbân mei de wurking fan Exadata Software yn AWR-statistiken. As regel begjinne de nammen fan sokke wachtsjen mei it wurd "sel" (de Exadata Storage-tsjinner wurdt in sel neamd), wêrfan de meast foarkommende wachtsjen binne mei it fertellen fan nammen "cell smart table scan", "cell multiblock fysike lêzen" en "sel ien blok fysyk lêzen".
Yn 'e measte gefallen is it oandiel fan sokke Exadata-wachten yn' e totale reaksjetiid lyts, en dêrom falle se net iens yn 'e Top10 Foargrûneveneminten troch Totale Wachttiid seksje (yn dit gefal moatte jo se sykje yn' e Foargrûn Wachtsje Eveneminten). Mei grutte muoite fûnen wy in foarbyld fan deistige AWR fan ús klanten, wêryn Exadata-ferwachtingen opnommen binne yn 'e Top10-seksje en yn totaal sawat 5% bedroegen:
Barren
Wachtsje
Totale wachttiid (sek)
Avg Wachtsje
%DB tiid
Wachtklasse
DB CPU
115.2K
70.4
SQL * Net mear gegevens fan dblink
670,196
5471.5
8.16ms
3.3
netwurk
sel ien blok fysyk lêzen
5,661,452
3827.6
676.07us
2.3
Brûker I/O
Syngronisearje ASM rebalance
4,350,012
3481.3
800.30us
2.1
Oar
sel multiblock fysyk lêzen
759,885
2252
2.96ms
1.4
Brûker I/O
direkte paad lêzen
374,368
1811.3
4.84ms
1.1
Brûker I/O
SQL*Net-berjocht fan dblink
7,983
1725
216.08ms
1.1
netwurk
cell smart tabel scan
1,007,520
1260.7
1.25ms
0.8
Brûker I/O
direkte paad lêzen temp
520,211
808.4
1.55ms
0.5
Brûker I/O
enq: TM - striid
652
795.8
1220.55ms
0.5
Oanfraach
De folgjende konklúzjes wurde faak lutsen út sokke AWR-statistiken:
1. De bydrage fan Exadata magy oan databankprestaasjes is net heech - it is net mear as 5%, en de databank "exadatizes" min.
2. As sa'n databank oerdroegen wurdt fan Exadata nei de klassike "server + array" arsjitektuer, dan sil de prestaasjes net folle feroarje. Want sels as dizze array trije kear stadiger blykt te wêzen as it Exadata-opslachsysteem (wat amper mooglik is foar moderne All Flash-arrays), dan fermannichfâldigje 5% mei trije krije wy in ferheging fan it oandiel fan I/O wachtet nei 15% - de databank sil dit grif oerlibje!
Beide fan dizze konklúzjes binne net krekt, boppedat ferdraaie se it begryp fan it idee efter Exadata Software. Exadata leveret net allinich rappe I / O, it wurket prinsipieel oars yn ferliking mei de klassike server + array-arsjitektuer. As de databankoperaasje wirklik "oanpast" is, dan wurdt de SQL-logika oerbrocht nei it opslachsysteem. Opslachservers, troch in oantal spesjale meganismen (foaral Exadata Storage Indexes, mar net allinich), fine de nedige gegevens sels en stjoere de DB nei de servers. Se dogge dit frij effisjint, sadat it oandiel fan typyske Exadata wachtet yn 'e totale reaksjetiid lyts is.
Hoe sil dit oandiel feroarje bûten Exadata? Hoe sil dit de prestaasjes fan 'e databank as gehiel beynfloedzje? Testen sil dizze fragen it bêste beantwurdzje. Bygelyks, wachtsje op in "cell smart tabel scan" bûten Exadata kin feroarje yn sa'n swiere Tabel Folsleine Scan dat I / O nimt de hiele reaksjetiid en prestaasjes dramatysk degradearret. Dêrom is it ferkeard, by it analysearjen fan AWR, it totale persintaazje fan Exadata-ferwachtingen te beskôgjen as de bydrage fan har magy oan prestaasjes, en noch mear om dit persintaazje te brûken om prestaasjes bûten Exadata te foarsizzen. Om te begripen hoe "krekt" it wurk fan 'e databank is, moatte jo de AWR-statistiken fan' e seksje "Instance Activity Stats" studearje (d'r binne in protte statistiken mei selsferklearjende nammen) en fergelykje se mei elkoar.
En om te begripen hoe't in databank bûten Exadata sil fiele, is it bêste om in databankkloon te meitsjen fan in reservekopy op 'e doelarsjitektuer en analysearje de prestaasjes fan dizze kloon ûnder load. Eigners fan Exadata hawwe yn 'e regel dizze kâns.
Author: Alexey Struchenko, haad fan 'e Jet Infosystems database ôfdieling
Boarne: www.habr.com