AWR: Ako veľmi sa „exádatizuje“ práca databázy?

Týmto krátkym príspevkom by som rád objasnil jedno nedorozumenie spojené s analýzou AWR databáz bežiacich na Oracle Exadata. Už takmer 10 rokov sa pravidelne stretávam s otázkou: aký je prínos Exadata Software na výkonnosť? Alebo s použitím novotvarov: do akej miery sa „exadatuje“ práca tej či onej databázy?

AWR: Ako veľmi sa „exádatizuje“ práca databázy?

Často na túto správnu otázku, podľa môjho názoru, prichádza nesprávna odpoveď, zvyčajne s odkazom na štatistiku AWR. Obsahuje metódu systémových čakacích časov, ktorá interpretuje čas odozvy ako súčet času práce procesorov (DB CPU) a času čakania rôznych tried.

S príchodom Exadata sa v štatistike AWR objavili špecifické systémové čakacie časy spojené s prácou Exadata Software. Zvyčajne názvy takýchto čakacích časov začínajú slovom "cell" (článkom sa nazýva Exadata Storage server), pričom najčastejšie sa vyskytujú čakacie časy s výstižnými názvami "cell smart table scan", "cell multiblock physical read" a "cell single block physical read".

V drvivej väčšine prípadov podiel týchto Exadata-čakaní na celkovom čase odozvy je malý, a preto sa ani nedostanú do sekcie Top10 Foreground Events by Total Wait Time (v tomto prípade ich treba hľadať v sekcii Foreground Wait Events). S veľkým úsilím sme u našich zákazníkov objavili príklad denných AWR, v ktorom Exadata-čakania zasiahli sekciu Top10 a v súhrne predstavovali približne 5%:

Udalosť

Čakania

Celkový čas čakania (sec)

Priemerné čakanie

% DB čas

Trieda čakania

DB CPU

115.2K

70.4

SQL*Net ďalšie údaje z dblink

670,196

5471.5

8.16ms

3.3

Sieť

cell single block physical read

5,661,452

3827.6

676.07us

2.3

Používateľ I/O

Sync ASM rebalance

4,350,012

3481.3

800.30us

2.1

Iné

cell multiblock physical read

759,885

2252

2.96ms

1.4

Používateľ I/O

priamy path read

374,368

1811.3

4.84ms

1.1

Používateľ I/O

SQL*Net správa z dblink

7,983

1725

216.08ms

1.1

Sieť

cell smart table scan

1,007,520

1260.7

1.25ms

0.8

Používateľ I/O

priamy path read temp

520,211

808.4

1.55ms

0.5

Používateľ I/O

enq: TM — contention

652

795.8

1220.55ms

0.5

Aplikácia

Z takejto AWR štatistiky sa často robia nasledujúce závery:

1. Prínos mágie Exadata na výkonnosť databázy nie je vysoký — nepresahuje 5 %, a databáza sa "exadatuje" zle.

2. Ak by sa takáto databáza presunula z Exadata na klasickú architektúru "server + diskový systém", výkonnosť by sa nezmenila výrazne. Pretože aj keby sa ukázalo, že tento diskový systém je trikrát pomalší ako systém ukladania Exadata (čo je sotva možné pre moderné all-flash disky), vynásobením 5% tromi dostaneme zvýšenie podielu čakaní na vstup a výstup až na 15% — takúto databázu určite zvládne!

Obidva tieto výstupy sú nepresné, navyše skresľujú chápanie myšlienky, ktorá je zakotvená v Exadata Software. Exadata nielen zabezpečuje rýchly vstup-výstup, ale funguje zásadne inak v porovnaní s klasickou architektúrou „server + pole“. Ak je práca databázy naozaj „exadatujúca“, potom sa na systém ukladania prenáša SQL-logika. Storage servery vďaka rade špeciálnych mechanizmov (predovšetkým Exadata Storage Indexes, ale nielen) samy nachádzajú potrebné údaje a prenášajú ich DB serverom. Robia to dostatočne efektívne, preto podiel charakteristických Exadata čakacích období v celkovom čase odozvy je malý. 

Ako sa tento podiel zmení mimo Exadata? Ako to ovplyvní výkon databázy ako celku? Najlepšie odpovede na tieto otázky dá testovanie. Napríklad čakanie „cell smart table scan“ mimo Exadata sa môže zmeniť na taký ťažký Table Full Scan, že vstup-výstup zaberie celý čas odozvy a výkon sa dramaticky zhorší. Preto je nesprávne pri analýze AWR počítať celkový percentuálny podiel čakacích období Exadata ako príspevok jej mágie do výkonu a už vôbec tento percentuálny podiel používať na predpovedanie výkonu mimo Exadata. Aby ste pochopili, ako veľmi je práca databázy „exadatujúca“, potrebujete skúmať štatistiky AWR sekcie „Instance Activity Stats“ (tam je veľa štatistík s výstižnými názvami) a porovnávať ich medzi sebou.

Aby ste pochopili, ako sa bude databáza cítiť mimo Exadata, je najlepšie vytvoriť z backupu kópiu databázy na cieľovej architektúre a analyzovať výkon tejto kópie pod zaťažením. Takáto možnosť je zvyčajne dostupná pre vlastníkov Exadata.

Autor: Alexey Struchenko, vedúci oddelenia DB „Infosystemy Jet“

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster