Me kĂ«tĂ« post tĂ« vogĂ«l doja tĂ« shpjegoja njĂ« keqkuptim nĂ« lidhje me analizĂ«n e databazave AWR qĂ« funksionojnĂ« nĂ« Oracle Exadata. Gati 10 vjet kam hasur vazhdimisht pyetjen: cila Ă«shtĂ« kontributi i Exadata Software nĂ« performancĂ«n? Ose me fjalĂ« tĂ« reja: sa âexadataâ Ă«shtĂ« puna e njĂ« databaze tĂ« caktuar?

Shpesh, për këtë pyetje të saktë, sipas mendimit tim, jepet një përgjigje e gabuar e cila referohet në statistikat AWR. Ajo paraqet një metodë të pritjeve sistematike, që e interpreton kohën e përgjigjes si shumën e kohës së punës së procesorëve (DB CPU) dhe kohës së pritjeve nga klasat e ndryshme.
Me shfaqjen e Exadata në statistikat AWR u shfaqën pritje sistematike specifike, të lidhura me punën e Exadata Software. Në përgjithësi, emrat e këtyre pritjeve fillojnë me fjalën 'cell' (servery Exadata Storage quhet cell), ndër to, pritjet më të zakonshme janë me emra të kuptueshëm si 'cell smart table scan', 'cell multiblock physical read' dhe 'cell single block physical read'.
Në shumicën e rasteve, pjesa e këtyre pritjeve Exadata në kohën totale të përgjigjes është e vogël, dhe prandaj ato madje nuk arrijnë të përfshihen në seksionin Top10 ngjarjet e përparme sipas kohës totale të pritjes (në këtë rast, ato duhet të kërkohen në seksionin ngjarjet e pritjes së përparme). Ne me vështirësi gjetëm një shembull të AWR-ës ditor nga klientët tanë, ku pritjet Exadata arritën në seksionin Top10 dhe përbënin rreth 5% të gjithsej:
Ngjarja
Pritjet
Koha totale e pritjes (sekondë)
Pritja mesatare
% Koha DB
Klasa e pritjes
DB CPU
115.2K
70.4
SQL*Net më shumë të dhëna nga dblink
670,196
5471.5
8.16ms
3.3
Network global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats timeout 30s user haproxy group haproxy daemondefaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000frontend http_front bind *:80 stats uri /haproxy?stats default_backend http_backbackend http_back balance roundrobin server server_name1 private_ip1:80 check server server_name2 private_ip2:80 check
cell single block physical read
5,661,452
3827.6
676.07us
2.3
Përdorues I/O
Sync ASM rebalance
4,350,012
3481.3
800.30us
2.1
Tjetër
cell multiblock physical read
759,885
2252
2.96ms
1.4
Përdorues I/O
rrëfimi direct path read
374,368
1811.3
4.84ms
1.1
Përdorues I/O
SQL*Net mesazhi nga dblink
7,983
1725
216.08ms
1.1
Network global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats timeout 30s user haproxy group haproxy daemondefaults log global mode http option httplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000frontend http_front bind *:80 stats uri /haproxy?stats default_backend http_backbackend http_back balance roundrobin server server_name1 private_ip1:80 check server server_name2 private_ip2:80 check
cell smart table scan
1,007,520
1260.7
1.25ms
0.8
Përdorues I/O
rrëfimi direct path read temp
520,211
808.4
1.55ms
0.5
Përdorues I/O
enq: TM â pĂ«rplasje
652
795.8
1220.55ms
0.5
Aplikacioni
Nga një statistikë e tillë AWR shpesh bëhen përfundime të tilla:
1. Kontributi i magjisĂ« Exadata nĂ« performancĂ«n e databazĂ«s nuk Ă«shtĂ« i lartĂ« â nuk kalon 5%, dhe databaza âexadataâ punon dobĂ«t.
2. NĂ«se njĂ« databazĂ« e tillĂ« do tĂ« transferohej nga Exadata nĂ« njĂ« arkitekturĂ« klasike âserver + arrayâ, atĂ«herĂ« performanca nuk do tĂ« ndryshonte shumĂ«. Sepse pĂ«rderisa ky array do tĂ« rezultonte tri herĂ« mĂ« i ngadalshĂ«m se sistemi i ruajtjes Exadata (çka Ă«shtĂ« pak e mundshme pĂ«r array-t modern All Flash), duke shumĂ«zuar 5% me tre do tĂ« kishim njĂ« rritje tĂ« pjesĂ«s sĂ« pritjeve tĂ« I/O deri nĂ« 15% â njĂ« databazĂ« e tillĂ« sigurisht do ta pĂ«rballonte kĂ«tĂ«!
TĂ« dy kĂ«to dalje janĂ« tĂ« pasakta, madje ato shtrembĂ«rojnĂ« kuptimin e idesĂ« qĂ« qĂ«ndron pas Exadata Software. Exadata nuk siguron thjesht hyrje-dalje tĂ« shpejtĂ«, ajo funksionon nĂ« mĂ«nyrĂ« tĂ« ndryshme krahasuar me arkitekturĂ«n klasike "server + grumbull". NĂ«se puna e bazĂ«s sĂ« tĂ« dhĂ«nave vĂ«rtet "ekzadatiset" â atĂ«herĂ« logjika SQL transferohet nĂ« sistemin e ruajtjes. serverĂ«t FalĂ« njĂ« sĂ«rĂ« mekanizmash specialĂ« (nĂ« radhĂ« tĂ« parĂ« Exadata Storage Indexes, por jo vetĂ«m) ata vetĂ« gjejnĂ« tĂ« dhĂ«nat e nevojshme dhe i dĂ«rgojnĂ« nĂ« serverat DB. Ata e bĂ«jnĂ« kĂ«tĂ« mjaft efektivisht, ndaj pjesa e pritjeve karakteristike 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Ă« pĂ«rgjithĂ«si? MĂ« mirĂ« se çdokush mund ta pĂ«rgjigjet testimi. PĂ«r shembull, pritja "cell smart table scan" jashtĂ« Exadata mund tĂ« shndĂ«rrohet nĂ« njĂ« skan tĂ« rĂ«ndĂ« Table Full Scan, aq sa hyrje-dalje do tĂ« marrĂ« tĂ« gjithĂ« kohĂ«n e pĂ«rgjigjes dhe performanca do tĂ« pĂ«rkeqĂ«sohet dramatisht. Prandaj, Ă«shtĂ« e gabuar nĂ« analizĂ«n AWR tĂ« konsiderohet pĂ«rqindja totale e pritjeve Exadata si njĂ« kontribut tĂ« magjisĂ« sĂ« saj nĂ« performancĂ« dhe aq mĂ« tepĂ«r tĂ« pĂ«rdoret kjo pĂ«rgjigje pĂ«r tĂ« parashikuar performancĂ«n jashtĂ« Exadata. PĂ«r tĂ« kuptuar sa "ekzadatiset" puna e bazĂ«s duhet tĂ« studiohen statistikat AWR nĂ« seksionin âInstance Activity Statsâ (aty ka shumĂ« statistika me emra tregues) dhe ato duhet tĂ« krahasohen me njĂ«ra-tjetrĂ«n.
Dhe për të kuptuar si do të ndjehet baza e të dhënave jashtë Exadata, është më mirë të bëni një klon të bazës nga backup në arkitekturën e synuar dhe të analizoni performancën e këtij kloni nën ngarkesë. Një mundësi e tillë zakonisht është në dispozicion për ata që kanë Exadata.
Autori: Aleksei Struchenko, udhĂ«heqĂ«s i segmentit DB nĂ« âInfosystem Jetâ
Burimi: habr.com
