AWR: mennyire "exádatizált" az adatbázis munkája?

Ezzel a rövid bejegyzéssel szeretném eloszlatni egy félreértést az AWR elemzésével kapcsolatban, amely Oracle Exadata környezetben működő adatbázisokat érint. Közel 10 éve folyamatosan találkozom azzal a kérdéssel: mekkora szerepet játszik az Exadata szoftver a teljesítményben? Vagy más szavakkal: mennyire 'exadáztól' függ az adott adatbázis működése?

AWR: mennyire "exádatizált" az adatbázis munkája?

Gyakran erre a helyes kérdésre, véleményem szerint, hibás válasz érkezik, amely az AWR statisztikákra hivatkozik. Ezekben a rendszer várakozási idejeit úgy értelmezik, mint a CPU idő és a különböző osztályok várakozási idejének összegét.

Az Exadata megjelenésével az AWR statisztikákban specifikus rendszer várakozások jelentek meg, amelyek az Exadata szoftver működésével kapcsolatosak. Ezek a várakozások általában 'cell' szóval kezdődnek (a cella az Exadata tárolószerver), és a leggyakoribbak között találhatók a következő nevek: 'cell smart table scan', 'cell multiblock physical read' és 'cell single block physical read'.

A legtöbb esetben az ilyen Exadata várakozások aránya a válaszidőben kicsi, ezért nem is kerülnek be a Top10 Foreground Events by Total Wait Time szekcióba (ilyenkor a Foreground Wait Events részben kell őket keresni). Nagy nehezen találtunk ügyfeleinknél egy napra vonatkozó AWR példát, ahol az Exadata várakozások bejutottak a Top10 szekcióba és összesen körülbelül 5%-ot tettek ki:

Esemény

Várakozások

Összes várakozási idő (sec)

Átlagos várakozás

% DB idő

Várakozási osztály

DB CPU

115.2K

70.4

SQL*Net több adat a dblinkből

670,196

5471.5

8.16ms

3.3

Hálózat

cell single block physical read

5,661,452

3827.6

676.07us

2.3

Felhasználói I/O

Szinkron ASM újraelosztás

4,350,012

3481.3

800.30us

2.1

Egyéb

cell multiblock physical read

759,885

2252

2.96ms

1.4

Felhasználói I/O

közvetlen útvonal olvasás

374,368

1811.3

4.84ms

1.1

Felhasználói I/O

SQL*Net üzenet a dblinkből

7,983

1725

216.08ms

1.1

Hálózat

cell smart table scan

1,007,520

1260.7

1.25ms

0.8

Felhasználói I/O

közvetlen útvonal olvasás ideiglenes

520,211

808.4

1.55ms

0.5

Felhasználói I/O

elérhető: TM — elosztási ellentmondás

652

795.8

1220.55ms

0.5

Alkalmazás

Az ilyen AWR statisztikákból gyakran olyan következtetéseket vonnak le:

1. Az Exadata varázslat hozzájárulása az adatbázis teljesítményéhez nem magas — nem haladja meg az 5%-ot, így az adatbázis 'rosszul exadázható'.

2. Ha ezt az adatbázist Exadata-ról a klasszikus 'szerver + tároló' architektúrára helyeznénk át, a teljesítmény nem változna jelentősen. Mert ha a tároló háromszor lassabb lenne az Exadata tárolókhoz képest (ami a modern All Flash tárolók esetén alig lehetséges), akkor 5%-ot szorozva hárommal, a várakozási arányok 15%-ra emelkednének — ezt az adatbázis biztosan túlélne!

Mindkét kimenet pontatlan, sőt, torzítja az Exadata szoftverben rejlő ötlet megértését. Az Exadata nem csupán gyors bemeneti-kimenetet biztosít, alapjaiban másként működik, mint a klasszikus "szerver + tároló" architektúra. Ha az adatbázis megfelelően "exadatisálódik" – akkor a SQL-logika a tárolórendszerre kerül át. Storage szerverek Különféle speciális mechanizmusoknak köszönhetően (elsősorban Exadata Storage Indexek, de nem csak) maguk találják meg a szükséges adatokat, és küldik el azokat az DB szervereknek. Ezt elég hatékonyan végzik, ezért az Exadata-jellegű várakozások aránya az összes válaszidőben kicsi. 

Hogyan változik ez az arány Exadata nélkül? Milyen hatással lesz ez az adatbázis teljesítményére? A legjobb válaszokat a tesztelés adja. Például az "cell smart table scan" várakozás Exadata nélkül olyan nehéz Table Full Scan-né alakulhat, hogy a bemeneti-kimenet minden válaszidőt felölel, és a teljesítmény drámaian csökken. Ezért helytelen az AWR elemzésekor a kivárások összesített százalékát az Exadata varázsának hozzájárulásaként számítani, és még inkább ezt a százalékot Exadata-n kívüli teljesítmény előrejelzésére használni. Ahhoz, hogy megértsük, mennyire "exadatisálódik" az adatbázis működése, az AWR szekció "Instance Activity Stats" statisztikáit (ott sok statisztika található beszédes nevekkel) kell tanulmányozni és összehasonlítani egymással.

Ahhoz, hogy megértsük, hogyan fog teljesíteni az adatbázis Exadata nélkül, a legjobb, ha egy másolatot készítünk a célarchitektúrára a mentésből, és elemezzük ennek a másolatnak a teljesítményét terhelés alatt. Az Exadata tulajdonosainak általában van lehetőségük erre.

Szerző: Alekszej Strucsenko, az Infósystem Jet DB részlegének vezetője

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster