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?
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