Гэтым невялікім пастом хацелася б развеяць адно непаразуменне, звязанае з аналізам AWR баз дадзеных, якія працуюць на Oracle Exadata. Амаль 10 гадоў я ўвесь час сутыкаюся з пытаннем: які ўклад Exadata Software у прадукцыйнасць? Або з выкарыстаннем новаўтвораных слоў: наколькі "экзадат" праца той ці іншай базы дадзеных?
Часта на гэтае правільнае пытанне, на мой погляд, даецца няправільны адказ са спасылкай на статыстыку AWR. У ёй прадстаўлены метад сістэмных чаканняў, які тлумачыць час водгуку як суму часу працы працэсараў (DB CPU) і часу чаканняў розных класаў.
Са з'яўленнем Exadata у статыстыцы AWR з'явіліся спецыфічныя сістэмныя чаканні, злучаныя з працай Exadata Software. Як правіла назвы такіх чаканняў пачынаюцца са слова "cell" (вочкам называецца Exadata Storage сервер), з іх часцей за ўсё сустракаюцца чаканні з размаўлялымі назвамі "cell smart table scan", "cell multiblock physical read" і "cell single block physical read".
У большасці выпадкаў дзель такіх Exadata-чаканняў у агульным часе водгуку малая, і таму яны нават не пападаюць у секцыю Top10 Foreground Events by Total Wait Time (у гэтым выпадку іх трэба шукаць у падзеле Foreground Wait Events). Мы з вялікай працай выявілі ў нашых заказчыкаў прыклад сутачнага AWR, у якім Exadata-чаканні патрапілі ў секцыю Top10 і ў суме склалі каля 5%:
падзея
Чакае
Total Wait Time (sec)
Avg Wait
% DB time
Wait Class
DB CPU
115.2K
70.4
SQL*Net more data from dblink
670,196
5471.5
8.16ms
3.3
сетка
cell single block physical read
5,661,452
3827.6
676.07us
2.3
User I/O
Sync ASM rebalance
4,350,012
3481.3
800.30us
2.1
іншае
cell multiblock physical read
759,885
2252
2.96ms
1.4
User I/O
direct path read
374,368
1811.3
4.84ms
1.1
User I/O
SQL*Net message from dblink
7,983
1725
216.08ms
1.1
сетка
cell smart table scan
1,007,520
1260.7
1.25ms
0.8
User I/O
direct path read temp
520,211
808.4
1.55ms
0.5
User I/O
enq: TM - contention
652
795.8
1220.55ms
0.5
дадатак
З падобнай AWR статыстыкі часта робяць такія высновы:
1. Уклад магіі Exadata ў прадукцыйнасць базы дадзеных не высокі - не перавышае 5%, а база дадзеных "экзадат" дрэнна.
2. Калі такую базу перанесці з Exadata на класічную архітэктуру «сервер + масіў», то прадукцыйнасць зменіцца не моцна. Таму што нават калі гэты масіў апынецца ўтрая павольней сістэмы захоўвання Exadata (што ці ледзь магчыма для сучасных All Flash масіваў), то памножыўшы 5% на тры мы атрымаем павелічэнне дзелі чаканняў уводу-высновы да 15% - такое база дадзеных напэўна перажыве!
Абодва гэтых высновы недакладныя, больш за тое яны скажаюць разуменне ідэі, закладзенай у Exadata Software. Exadata не проста забяспечвае хуткі ўвод-вывад, яна працуе прынцыпова інакш у параўнанні з класічнай архітэктурай "сервер + масіў". Калі праца базы дадзеных сапраўды "экзадаціцца" - то на сістэму захоўвання пераносіцца SQL-логіка. Storage серверы дзякуючы шэрагу спецыяльных механізмаў (у першую чаргу Exadata Storage Indexes, але не толькі) самі знаходзяць патрэбныя дадзеныя і перасылаюць DB поўнач. Яны робяць гэта дастаткова эфектыўна, таму доля характэрных Exadata-чаканняў у агульным часе водгуку малая.
Як зменіцца гэтая доля па-за Exadata? Як гэта адаб'ецца на прадукцыйнасці базы даных у цэлым? Лепш за ўсё на гэтыя пытанні адкажа тэсціраванне. Напрыклад, чаканне "cell smart table scan" па-за Exadata можа ператварыцца ў такі цяжкі Table Full Scan, што ўвод-вывад зойме ўвесь час водгуку і прадукцыйнасць пагоршыцца драматычна. Менавіта таму няправільна пры аналізе AWR лічыць сумарны працэнт чаканняў Exadata укладам яе магіі ў прадукцыйнасць і тым больш выкарыстоўваць гэты працэнт для прагназавання прадукцыйнасці па-за Exadata. Каб зразумець наколькі "экзадат" праца базы трэба вывучаць статыстыкі AWR секцыі "Instance Activity Stats" (там шмат статыстык з размаўлялымі назвамі) і параўноўваць іх паміж сабой.
А каб зразумець, як будзе сябе адчуваць база дадзеных па-за Exadata, лепш за ўсё зрабіць з бекапа клон базы на мэтавай архітэктуры і прааналізаваць прадукцыйнасць гэтага клона пад нагрузкай. Такая магчымасць у ўладальнікаў Exadata, як правіла, ёсць.
Аўтар: Аляксей Стручэнка, кіраўнік кірунку БД «Інфасістэмы Джэт»
Крыніца: habr.com