AWR: Sa “eksperte” është performanca e bazës së të dhënave?

Me këtë postim të shkurtër do të doja të shpërndaja një keqkuptim në lidhje me analizën e bazave të të dhënave AWR që funksionojnë në Oracle Exadata. Për gati 10 vjet, jam përballur vazhdimisht me pyetjen: cili është kontributi i Exadata Software në produktivitet? Ose duke përdorur fjalë të krijuara rishtazi: sa "eksperte" është puna e një baze të dhënash të caktuar?

AWR: Sa “eksperte” është performanca e bazës së të dhënave?

Shpesh kjo pyetje e saktë, për mendimin tim, është përgjigjur gabimisht duke iu referuar statistikave AWR. Ai paraqet metodën e pritjes së sistemit, e cila trajton kohën e përgjigjes si shumën e kohës së funksionimit të procesorëve (DB CPU) dhe kohën e pritjes së klasave të ndryshme.

Me ardhjen e Exadata, pritjet specifike të sistemit në lidhje me funksionimin e Exadata Software u shfaqën në statistikat AWR. Si rregull, emrat e pritjeve të tilla fillojnë me fjalën "qelizë" (serveri Exadata Storage quhet qelizë), nga të cilat më të zakonshmet janë pritjet me emrat vetë-shpjegues "skanimi i tabelave inteligjente të qelizave", "multiblloku i qelizave". leximi fizik” dhe “leximi fizik i një blloku të vetëm me qelizë”.

Në shumicën e rasteve, pjesa e pritjeve të tilla Exadata në kohën totale të përgjigjes është e vogël, dhe për këtë arsye ato as nuk përfshihen në seksionin Top10 Ngjarjet e Para në plan sipas kohës totale të pritjes (në këtë rast, ju duhet t'i kërkoni ato në Pritjen në plan të parë Seksioni i ngjarjeve). Me shumë vështirësi, gjetëm një shembull të AWR ditor nga klientët tanë, në të cilin pritjet e Exadata u përfshinë në seksionin Top10 dhe në total arritën në rreth 5%:

ngjarje

pret

Koha totale e pritjes (sek)

Prisni mesatarisht

%DB kohë

Klasa e pritjes

CPU DB

115.2K

70.4

SQL*Net më shumë të dhëna nga dblink

670,196

5471.5

8.16ms

3.3

Rrjet

Leximi fizik i një qelize të vetme

5,661,452

3827.6

676.07us

2.3

I/O përdoruesi

Sinkronizoni ribalancimin e ASM

4,350,012

3481.3

800.30us

2.1

tjetër

leximi fizik me shumë blloqe qelizore

759,885

2252

2.96ms

1.4

I/O përdoruesi

leximi i rrugës së drejtpërdrejtë

374,368

1811.3

4.84ms

1.1

I/O përdoruesi

Mesazh SQL*Net nga dblink

7,983

1725

216.08ms

1.1

Rrjet

skanimi inteligjent i tavolinës celulare

1,007,520

1260.7

1.25ms

0.8

I/O përdoruesi

temp i leximit të rrugës së drejtpërdrejtë

520,211

808.4

1.55ms

0.5

I/O përdoruesi

enq: TM - grindje

652

795.8

1220.55ms

0.5

Aplikacion

Konkluzionet e mëposhtme shpesh nxirren nga statistika të tilla AWR:

1. Kontributi i magjisë Exadata në performancën e bazës së të dhënave nuk është i lartë - nuk kalon 5%, dhe baza e të dhënave "eksadatizohet" dobët.

2. Nëse një bazë e tillë e të dhënave transferohet nga Exadata në arkitekturën klasike “server + array”, atëherë performanca nuk do të ndryshojë shumë. Sepse edhe nëse ky grup rezulton të jetë tre herë më i ngadalshëm se sistemi i ruajtjes Exadata (gjë që vështirë se është e mundur për grupet moderne All Flash), atëherë duke shumëzuar 5% me tre marrim një rritje të përqindjes së pritjeve I/O në 15% - Baza e të dhënave me siguri do t'i mbijetojë kësaj!

Të dyja këto përfundime janë të pasakta, për më tepër, ato shtrembërojnë të kuptuarit e idesë që qëndron pas Exadata Software. Exadata jo vetëm që ofron hyrje/dalje të shpejtë, por funksionon thelbësisht ndryshe në krahasim me arkitekturën klasike të serverëve + grupeve. Nëse operacioni i bazës së të dhënave është vërtet "ekzadaptuar", atëherë logjika SQL transferohet në sistemin e ruajtjes. Serverët e ruajtjes, falë një sërë mekanizmash të veçantë (kryesisht Exadata Storage Indexes, por jo vetëm), gjejnë vetë të dhënat e nevojshme dhe dërgojnë DB-në te serverët. Ata e bëjnë këtë në mënyrë mjaft efikase, kështu që pjesa e pritjeve tipike Exadata në kohën totale të përgjigjes është e vogël. 

Si do të ndryshojë kjo pjesë jashtë Exadata? Si do të ndikojë kjo në performancën e bazës së të dhënave në tërësi? Testimi do t'i përgjigjet më së miri këtyre pyetjeve. Për shembull, pritja për një "skanim inteligjent të tabelës celulare" jashtë Exadata mund të shndërrohet në një skanim të plotë të tabelës aq të rëndë sa I/O merr të gjithë kohën e përgjigjes dhe performanca degradohet në mënyrë dramatike. Kjo është arsyeja pse është e gabuar, kur analizojmë AWR, të konsiderojmë përqindjen totale të pritjeve të Exadata si kontribut të magjisë së saj në performancë, dhe aq më tepër të përdoret kjo përqindje për të parashikuar performancën jashtë Exadata. Për të kuptuar se sa "e saktë" është puna e bazës së të dhënave, duhet të studioni statistikat AWR të seksionit "Statistikat e Aktivitetit të Shkallës" (ka shumë statistika me emra vetë-shpjegues) dhe t'i krahasoni ato me njëra-tjetrën.

Dhe për të kuptuar se si do të ndihet një bazë e të dhënave jashtë Exadata, është më mirë të bëni një klon të bazës së të dhënave nga një kopje rezervë në arkitekturën e synuar dhe të analizoni performancën e këtij kloni nën ngarkesë. Pronarët e Exadata, si rregull, e kanë këtë mundësi.

Author: Alexey Struchenko, kreu i departamentit të bazës së të dhënave Jet Infosystems

Burimi: www.habr.com

Shto një koment