AWR: Ma'lumotlar bazasining ishlashi qanchalik "mutaxassis"?

Ushbu qisqa post bilan men Oracle Exadata-da ishlaydigan AWR ma'lumotlar bazalarini tahlil qilish bilan bog'liq bir tushunmovchilikni yo'q qilmoqchiman. Deyarli 10 yil davomida men doimo savolga duch kelaman: Exadata Software unumdorlikka qanday hissa qo'shadi? Yoki yangi yaratilgan so'zlardan foydalangan holda: ma'lum bir ma'lumotlar bazasining ishi qanchalik "mutaxassis"?

AWR: Ma'lumotlar bazasining ishlashi qanchalik "mutaxassis"?

Ko'pincha bu to'g'ri savolga, mening fikrimcha, AWR statistikasiga asoslanib, noto'g'ri javob beriladi. U javob vaqtini protsessorlarning (MB CPU) ish vaqti va turli sinflarning kutish vaqti yig'indisi sifatida ko'rib chiqadigan tizimni kutish usulini taqdim etadi.

Exadata-ning paydo bo'lishi bilan AWR statistikasida Exadata Software ishlashi bilan bog'liq maxsus tizim taxminlari paydo bo'ldi. Qoidaga ko'ra, bunday kutishlarning nomlari "hujayra" so'zi bilan boshlanadi (Exadata Storage serveri hujayra deb ataladi), ulardan eng keng tarqalgani "hujayrani aqlli jadvalni skanerlash", "hujayra multiblok" o'z-o'zidan tushunarli nomlar bilan kutishdir. jismoniy o'qish" va "hujayra yagona blok jismoniy o'qish".

Ko'pgina hollarda, bunday Exadata kutishlarining umumiy javob vaqtidagi ulushi kichikdir va shuning uchun ular umumiy kutish vaqti bo'yicha eng yaxshi 10 ta oldingi voqealar bo'limiga kirmaydi (bu holda siz ularni Oldindan kutish bo'limida qidirishingiz kerak. Voqealar bo'limi). Katta qiyinchilik bilan biz mijozlarimizdan kunlik AWR misolini topdik, unda Exadata taxminlari Top10 bo'limiga kiritilgan va jami taxminan 5% ni tashkil etdi:

hodisa

Kutmoqda

Umumiy kutish vaqti (sek.)

OΚ»rtacha kutish

%DB vaqti

Kutish sinfi

DB CPU

115.2K

70.4

SQL*Dblink-dan ko'proq ma'lumot

670,196

5471.5

8.16ms

3.3

tarmoq

hujayraning yagona blokli jismoniy o'qilishi

5,661,452

3827.6

676.07 yosh

2.3

Foydalanuvchi kiritish/chiqarish

ASM balansini sinxronlashtiring

4,350,012

3481.3

800.30 yosh

2.1

boshqa

hujayra multiblokli jismoniy o'qish

759,885

2252

2.96ms

1.4

Foydalanuvchi kiritish/chiqarish

to'g'ridan-to'g'ri yo'l o'qiladi

374,368

1811.3

4.84ms

1.1

Foydalanuvchi kiritish/chiqarish

Dblink dan SQL*Net xabari

7,983

1725

216.08ms

1.1

tarmoq

uyali aqlli stolni skanerlash

1,007,520

1260.7

1.25ms

0.8

Foydalanuvchi kiritish/chiqarish

to'g'ridan-to'g'ri yo'lni o'qish harorati

520,211

808.4

1.55ms

0.5

Foydalanuvchi kiritish/chiqarish

enq: TM - qarama-qarshilik

652

795.8

1220.55ms

0.5

ariza

Ko'pincha bunday AWR statistikasidan quyidagi xulosalar chiqariladi:

1. Exadata sehrining ma'lumotlar bazasi ishlashiga qo'shgan hissasi yuqori emas - u 5% dan oshmaydi va ma'lumotlar bazasi yomon "eksadatlanadi".

2. Agar bunday ma'lumotlar bazasi Exadata'dan klassik "server + massiv" arxitekturasiga o'tkazilsa, unda ishlash unchalik o'zgarmaydi. Chunki bu massiv Exadata saqlash tizimidan uch baravar sekinroq bo'lsa ham (zamonaviy All Flash massivlari uchun bu deyarli mumkin emas), keyin 5% ni uchga ko'paytirsak, biz kiritish-chiqarish ulushini 15% gacha ko'taramiz. - ma'lumotlar bazasi bundan albatta omon qoladi!

Ushbu ikkala xulosa ham noto'g'ri, bundan tashqari, ular Exadata Software g'oyasini tushunishni buzadi. Exadata nafaqat tezkor kiritish-chiqarishni ta'minlamaydi, balki klassik server + massiv arxitekturasidan tubdan farq qiladi. Agar ma'lumotlar bazasi ishi haqiqatan ham "ekzadaptsiya qilingan" bo'lsa, SQL mantig'i saqlash tizimiga o'tkaziladi. Saqlash serverlari bir qator maxsus mexanizmlar (birinchi navbatda, Exadata Storage Indexes, lekin nafaqat) tufayli kerakli ma'lumotlarni o'zlari topadilar va ma'lumotlar bazasini serverlarga yuboradilar. Ular buni juda samarali bajaradilar, shuning uchun umumiy javob vaqtida odatdagi Exadata kutishlarining ulushi kichikdir. 

Bu ulush Exadata'dan tashqari qanday o'zgaradi? Bu umuman ma'lumotlar bazasining ishlashiga qanday ta'sir qiladi? Sinov bu savollarga eng yaxshi javob beradi. Misol uchun, Exadata-dan tashqarida "hujayrani aqlli stol skanerlash" ni kutish shu qadar og'ir Jadvalni to'liq skanerlashiga aylanishi mumkinki, I/U butun javob vaqtini oladi va unumdorligi keskin pasayadi. Shuning uchun AWRni tahlil qilishda Exadata kutishlarining umumiy foizini uning sehrining ishlashga qo'shgan hissasi sifatida ko'rib chiqish va undan ham ko'proq Exadata'dan tashqarida ishlashni bashorat qilish uchun bu foizdan foydalanish noto'g'ri. Ma'lumotlar bazasi ishi qanchalik "aniq" ekanligini tushunish uchun siz "Instance Activity Stats" bo'limining AWR statistikasini o'rganishingiz kerak (o'z-o'zidan tushunarli nomlar bilan ko'plab statistik ma'lumotlar mavjud) va ularni bir-biri bilan solishtiring.

Exadata'dan tashqarida ma'lumotlar bazasi qanday his qilishini tushunish uchun maqsadli arxitekturadagi zaxiradan ma'lumotlar bazasi klonini yaratish va yuk ostida ushbu klonning ishlashini tahlil qilish yaxshidir. Exadata egalari, qoida tariqasida, bunday imkoniyatga ega.

Muallif: Aleksey Struchenko, Jet Infosystems ma'lumotlar bazasi bo'limi boshlig'i

Manba: www.habr.com

a Izoh qo'shish