Med det hÀr lilla inlÀgget skulle jag vilja klargöra ett missförstÄnd som rör analysen av AWR-databaser som körs pÄ Oracle Exadata. I nÀstan 10 Är har jag stÀndigt stött pÄ frÄgan: vad Àr Exadata Softwares bidrag till prestandan? Eller med nybildade ord: hur mycket "exadaterar" arbetet hos en viss databas?

Ofta ges ett felaktigt svar pÄ denna rÀtta frÄga, enligt min mening, med hÀnvisning till AWR-statistik. I den presenteras en metod för systemvÀntan som tolkar svarstiden som summan av processorns arbetstid (DB CPU) och vÀntetiden för olika klasser.
Med införandet av Exadata har specifika systemvÀntor som Àr relaterade till Exadata Software dykt upp i AWR-statistiken. Vanligtvis börjar namnen pÄ sÄdana vÀntor med ordet "cell" (en cell kallas Exadata Storage-server), och de vanligaste vÀntorna har beskrivande namn som "cell smart table scan", "cell multiblock physical read" och "cell single block physical read".
I de flesta fall Àr andelen sÄdana Exadata-vÀntor i den totala svarstiden lÄg, och dÀrför kan de till och med inte hittas i sektionen Top10 Foreground Events by Total Wait Time (i sÄ fall mÄste de sökas i avsnittet Foreground Wait Events). Vi hade stora svÄrigheter att hitta ett exempel pÄ en daglig AWR-rapport hos vÄra kunder dÀr Exadata-vÀntor kom in i sektionen Top10 och totalt utgjorde cirka 5 %:
HĂ€ndelse
VĂ€ntningar
Total vÀntetid (sek)
Genomsnittlig vÀntan
% DB tid
VĂ€ntklass
DB CPU
115.2K
70.4
SQL*Net mer data frÄn dblink
670,196
5471.5
8.16ms
3.3
NĂ€tverk
cell single block physical read
5,661,452
3827.6
676.07us
2.3
AnvÀndare I/O
Sync ASM rebalance
4,350,012
3481.3
800.30us
2.1
Annat
cell multiblock physical read
759,885
2252
2.96ms
1.4
AnvÀndare I/O
direkt path read
374,368
1811.3
4.84ms
1.1
AnvÀndare I/O
SQL*Net meddelande frÄn dblink
7,983
1725
216.08ms
1.1
NĂ€tverk
cell smart table scan
1,007,520
1260.7
1.25ms
0.8
AnvÀndare I/O
direkt path read temp
520,211
808.4
1.55ms
0.5
AnvÀndare I/O
enq: TM â contention
652
795.8
1220.55ms
0.5
Application
FrÄn sÄdan AWR-statistik dras ofta följande slutsatser:
1. Bidraget frĂ„n Exadata-magi till databasens prestanda Ă€r inte stort â det överstiger inte 5 %, och databasen "exadaterar" dĂ„ligt.
2. Om en sĂ„dan databas flyttas frĂ„n Exadata till en klassisk arkitektur "server + lagring", kommer prestandan inte att förĂ€ndras nĂ€mnvĂ€rt. DĂ€rför, Ă€ven om den lagringen Ă€r tre gĂ„nger lĂ„ngsammare Ă€n Exadata-lagringssystemet (vilket knappt Ă€r möjligt för moderna All Flash-lagringar), kommer vi genom att multiplicera 5 % med tre fĂ„ en ökning av vĂ€ntetiden för I/O till 15 % â en sĂ„dan databas kommer definitivt att överleva!
BĂ„da dessa utsagor Ă€r oklara, dessutom förvrĂ€nger de förstĂ„elsen av idĂ©n bakom Exadata Software. Exadata erbjuder inte bara snabb in- och utmatning, den fungerar principiellt annorlunda jĂ€mfört med klassisk arkitektur "server + lagring". Om databasen verkligen "exadateras" â sĂ„ flyttas SQL-logiken till lagringssystemet. Storage servrar Tack vare en rad speciella mekanismer (frĂ€mst Exadata Storage Indexes, men inte bara) hittar de sjĂ€lva de nödvĂ€ndiga uppgifterna och skickar dem till DB-servrarna. De gör detta ganska effektivt, dĂ€rför Ă€r andelen karakteristiska Exadata-vĂ€ntetider i den totala svarstiden lĂ„g.Â
Hur kommer denna andel att förÀndras utanför Exadata? Hur kommer det att pÄverka databasens prestanda överlag? Det bÀsta svaret pÄ dessa frÄgor fÄr man genom testning. Till exempel kan vÀntan pÄ "cell smart table scan" utanför Exadata bli sÄ tuff att det istÀllet blir en tung Table Full Scan, vilket gör att in- och utmatning tar upp all svarstid och prestandan försÀmras dramatiskt. Just dÀrför Àr det felaktigt att i analysen av AWR rÀkna den totala andelen vÀntetider frÄn Exadata som en del av dess magi för prestanda, och Àn mindre anvÀnda denna procentandel för att prognosticera prestanda utanför Exadata. För att förstÄ hur mycket "exadaterad" arbetsbelastningen Àr, mÄste man studera statistik frÄn AWR-sektionen "Instance Activity Stats" (dÀr finns mycket statistik med talande namn) och jÀmföra dem med varandra.
Och för att förstÄ hur databasen kommer att mÄ utanför Exadata, Àr det bÀst att göra en klon av databasen frÄn en backup pÄ den mÄlarkitektur som ska anvÀndas och analysera prestandan hos denna klon under belastning. Den möjligheten har oftast de som innehar Exadata.
Författare: Aleksej Struchenko, chef för DB-avdelningen "Infosysteme Jet"
KĂ€lla: habr.com
