AWR: Дерекқор өнімділігі қаншалықты «сарапшы»?

Осы қысқа жазба арқылы мен Oracle Exadata жүйесінде жұмыс істейтін AWR дерекқорларын талдауға қатысты бір түсініспеушілікті жойғым келеді. 10 жылға жуық уақыт бойы мен үнемі сұраққа тап болдым: Exadata бағдарламалық жасақтамасының өнімділікке қосқан үлесі қандай? Немесе жаңадан жасалған сөздерді пайдалану: белгілі бір дерекқордың жұмысы қаншалықты «сарапшы»?

AWR: Дерекқор өнімділігі қаншалықты «сарапшы»?

Көбінесе бұл дұрыс сұраққа, менің ойымша, AWR статистикасына сілтеме жасай отырып, дұрыс емес жауап беріледі. Ол жүйелік күту әдісін ұсынады, ол жауап уақытын процессорлардың (ДҚ процессорлары) жұмыс уақытының және әртүрлі класстардың күту уақытының қосындысы ретінде қарастырады.

Exadata-ның пайда болуымен AWR статистикасында Exadata бағдарламалық жасақтамасының жұмысына байланысты нақты жүйелік күтулер пайда болды. Әдетте, мұндай күтулердің атаулары «ұяшық» сөзінен басталады (Exadata сақтау сервері ұяшық деп аталады), олардың ішінде ең көп тарағаны «ұяшықты смарт кестені сканерлеу», «ұяшық мультиблок» деген өздігінен түсіндірілетін атаулары бар күтулер. физикалық оқу» және «ұяшық бір блок физикалық оқу».

Көп жағдайда мұндай Exadata күтулерінің жалпы жауап уақытындағы үлесі аз, сондықтан олар тіпті жалпы күту уақыты бойынша ең жақсы 10 алдыңғы оқиғалар бөліміне де кірмейді (бұл жағдайда оларды «Алдыңғы күту» бөлімінен іздеу керек. Оқиғалар бөлімі). Үлкен қиындықпен біз тұтынушыларымыздан күнделікті AWR үлгісін таптық, онда Exadata күтулері Топ 10 бөліміне енгізілген және барлығы шамамен 5% құрады:

оқиға

Күту

Жалпы күту уақыты (сек)

Орташа күту

%DB уақыты

Күту класы

ДҚ процессоры

115.2K

70.4

SQL*Dblink-тен қосымша деректер Net

670,196

5471.5

8.16ms

3.3

Желі

ұяшықтардың бір блогының физикалық оқуы

5,661,452

3827.6

676.07us

2.3

Пайдаланушы енгізу/шығару

ASM қайта теңестіруді синхрондау

4,350,012

3481.3

800.30us

2.1

басқа

ұяшықтардың көп блокты физикалық оқуы

759,885

2252

2.96ms

1.4

Пайдаланушы енгізу/шығару

тікелей жолды оқу

374,368

1811.3

4.84ms

1.1

Пайдаланушы енгізу/шығару

dblink-тен SQL*Net хабарламасы

7,983

1725

216.08ms

1.1

Желі

ұялы смарт үстелді сканерлеу

1,007,520

1260.7

1.25ms

0.8

Пайдаланушы енгізу/шығару

тікелей жолды оқу температурасы

520,211

808.4

1.55ms

0.5

Пайдаланушы енгізу/шығару

enq: TM - тартыс

652

795.8

1220.55ms

0.5

қолдану

Мұндай AWR статистикасынан келесі қорытындылар жиі шығарылады:

1. Exadata магиясының дерекқор өнімділігіне қосқан үлесі жоғары емес – ол 5%-дан аспайды, ал деректер базасы нашар «эксадатизацияланады».

2. Егер мұндай деректер базасы Exadata-дан классикалық «сервер + массив» архитектурасына ауыстырылса, онда өнімділік көп өзгермейді. Өйткені бұл массив Exadata сақтау жүйесінен үш есе баяу болып шықса да (қазіргі барлық Flash массивтері үшін бұл мүмкін емес), онда 5% -ды үшке көбейткенде біз енгізу/шығару үлесін 15% күтеміз. - дерекқор бұл сөзсіз аман қалады!

Бұл екі тұжырым да дәл емес, сонымен қатар олар Exadata бағдарламалық жасақтамасының идеясын түсінуді бұрмалайды. Exadata жылдам енгізу/шығаруды қамтамасыз етіп қана қоймайды, ол классикалық сервер + массив архитектурасымен салыстырғанда түбегейлі басқаша жұмыс істейді. Егер дерекқордың жұмысы шынымен де «экзапталған» болса, онда SQL логикасы сақтау жүйесіне тасымалданады. Сақтау серверлері бірқатар арнайы механизмдердің арқасында (бірінші кезекте Exadata Storage Indexes, бірақ тек қана емес) қажетті деректерді өздері тауып, ДҚ серверлерге жібереді. Олар мұны өте тиімді жасайды, сондықтан жалпы жауап уақытында әдеттегі Exadata күтулерінің үлесі аз. 

Бұл үлес Exadata-дан тыс қалай өзгереді? Бұл жалпы деректер қорының өнімділігіне қалай әсер етеді? Тестілеу осы сұрақтарға жақсы жауап береді. Мысалы, Exadata қолданбасынан тыс «ұялы смарт үстелді сканерлеуді» күту, енгізу/шығару бүкіл жауап уақытын алып, өнімділікті күрт төмендететіндей ауыр кестені толық сканерлеуге айналуы мүмкін. Сондықтан AWR талдауы кезінде Exadata күтулерінің жалпы пайызын оның сиқырының өнімділікке қосқан үлесі ретінде қарастыру және одан да көп бұл пайызды Exadata-дан тыс өнімділікті болжау үшін пайдалану дұрыс емес. Дерекқор жұмысының қаншалықты «дәл» екенін түсіну үшін «Дана әрекетінің статистикасы» бөлімінің AWR статистикасын зерттеп (өздігінен түсінікті атаулары бар көптеген статистика бар) және оларды бір-бірімен салыстыру керек.

Exadata-дан тыс дерекқордың қалай әсер ететінін түсіну үшін мақсатты архитектурадағы сақтық көшірмеден дерекқор клонын жасап, жүктеме кезінде осы клонның өнімділігін талдаған дұрыс. Exadata иелері, әдетте, мұндай мүмкіндікке ие.

автор: Алексей Струченко, Jet Infosystems дерекқор бөлімінің басшысы

Ақпарат көзі: www.habr.com

пікір қалдыру