AWR: Verilənlər bazası nə qədər şişirdilmişdir?

Bu qısa yazı ilə Oracle Exadata-da işləyən AWR verilənlər bazalarının təhlili ilə bağlı bir anlaşılmazlığı aradan qaldırmaq istərdim. Təxminən 10 ilə yaxındır ki, mən daim bir sualla qarşılaşmışam: Exadata Software-in məhsuldarlığa töhfəsi nədir? Və ya yeni yaradılmış sözlərdən istifadə etməklə: müəyyən bir verilənlər bazasının işi nə dərəcədə “mütəxəssisdir”?

AWR: Verilənlər bazası nə qədər şişirdilmişdir?

Çox vaxt bu düzgün suala, mənim fikrimcə, AWR statistikasına istinadən səhv cavab verilir. O, cavab müddətini prosessorların (DB CPU) iş vaxtının və müxtəlif siniflərin gözləmə vaxtının cəmi kimi qəbul edən sistemin gözləmə metodunu təqdim edir.

Exadata-nın gəlişi ilə AWR statistikasında Exadata Proqramının işləməsi ilə bağlı xüsusi sistem gözləntiləri meydana çıxdı. Bir qayda olaraq, bu cür gözləmələrin adları “hüceyrə” sözü ilə başlayır (Exadata Storage serveri xana adlanır), bunlardan ən çox yayılmışı “hüceyrənin smart masasının skan edilməsi”, “hüceyrə multiblokunun” özünü izah edən adları ilə gözləmələrdir. fiziki oxu” və “hüceyrə tək bloklu fiziki oxu”.

Əksər hallarda bu cür Exadata gözləmələrinin ümumi cavab müddətində payı azdır və buna görə də onlar hətta Ümumi Gözləmə Müddəti üzrə Ən Yaxşı 10 Ön Plan Hadisələri bölməsinə düşmürlər (bu halda onları Ön Planda Gözləmə bölməsində axtarmaq lazımdır. Tədbirlər bölməsi). Çox çətinliklə müştərilərimizdən Exadata gözləntilərinin Top10 bölməsinə daxil edildiyi və ümumilikdə təxminən 5% təşkil etdiyi gündəlik AWR nümunəsini tapdıq:

hadisə

Gözləyir

Ümumi Gözləmə müddəti (san)

Orta Gözləyin

%DB vaxtı

Gözləyin Sinif

DB CPU

115.2K

70.4

SQL*Dblink-dən daha çox məlumat əldə edin

670,196

5471.5

8.16ms

3.3

şəbəkə

hüceyrə tək blok fiziki oxu

5,661,452

3827.6

676.07us

2.3

İstifadəçi I/O

ASM balansını sinxronlaşdırın

4,350,012

3481.3

800.30us

2.1

digər

hüceyrə multibloklu fiziki oxunuş

759,885

2252

2.96ms

1.4

İstifadəçi I/O

birbaşa yol oxumaq

374,368

1811.3

4.84ms

1.1

İstifadəçi I/O

Dblink-dən SQL*Net mesajı

7,983

1725

216.08ms

1.1

şəbəkə

mobil ağıllı masa skanı

1,007,520

1260.7

1.25ms

0.8

İstifadəçi I/O

birbaşa yol oxu tempi

520,211

808.4

1.55ms

0.5

İstifadəçi I/O

enq: TM - mübahisə

652

795.8

1220.55ms

0.5

Ərizə

Çox vaxt belə AWR statistikasından aşağıdakı nəticələr çıxarılır:

1. Exadata sehrinin verilənlər bazası performansına töhfəsi yüksək deyil - o, 5%-i keçmir və verilənlər bazası zəif “ekzadlaşdırır”.

2. Əgər belə verilənlər bazası Exadata-dan klassik “server + massiv” arxitekturasına köçürülərsə, o zaman performans çox da dəyişməyəcək. Çünki bu massiv Exadata saxlama sistemindən üç dəfə yavaş olsa da (müasir Bütün Flash massivləri üçün bu çətin ki, mümkün deyil), onda 5%-i üçə vursaq, I/O-nun payında artım 15%-ə çatır. - verilənlər bazası mütləq bundan sağ çıxacaq!

Bu nəticələrin hər ikisi qeyri-dəqiqdir, üstəlik, onlar Exadata Proqramının arxasında duran ideyanın anlaşılmasını təhrif edir. Exadata sadəcə sürətli I/O təmin etmir, o, klassik server + massiv arxitekturası ilə müqayisədə əsaslı şəkildə fərqli işləyir. Əgər verilənlər bazası əməliyyatı həqiqətən “exadapted” olarsa, SQL məntiqi yaddaş sisteminə köçürülür. Saxlama serverləri bir sıra xüsusi mexanizmlər (ilk növbədə Exadata Storage Indexes, lakin təkcə deyil) sayəsində lazımi məlumatları özləri tapır və DB-ni serverlərə göndərirlər. Onlar bunu olduqca səmərəli edir, buna görə də ümumi cavab müddətində tipik Exadata gözləmələrinin payı azdır. 

Bu pay Exadata xaricində necə dəyişəcək? Bu, bütövlükdə verilənlər bazasının fəaliyyətinə necə təsir edəcək? Test bu suallara ən yaxşı cavab verəcəkdir. Məsələn, Exadata-dan kənarda “hüceyrə smart masa skanını” gözləmək o qədər ağır Cədvəl Tam Skanına çevrilə bilər ki, I/O bütün cavab vaxtını alır və performans kəskin şəkildə aşağı düşür. Buna görə də, AWR-ni təhlil edərkən Exadata gözləntilərinin ümumi faizini onun sehrinin performansa töhfəsi hesab etmək və daha çox, Exadata-dan kənar performansı proqnozlaşdırmaq üçün bu faizdən istifadə etmək səhvdir. Verilənlər bazasının işinin nə qədər "dəqiq" olduğunu başa düşmək üçün "Nümunə Fəaliyyət Statistikası" bölməsinin AWR statistikasını öyrənmək (özünü izah edən adları olan çoxlu statistika var) və onları bir-biri ilə müqayisə etmək lazımdır.

Exadata xaricində verilənlər bazasının necə hiss edəcəyini anlamaq üçün hədəf arxitekturasının ehtiyat nüsxəsindən verilənlər bazası klonu yaratmaq və yük altında bu klonun performansını təhlil etmək ən yaxşısıdır. Exadata sahibləri, bir qayda olaraq, bu imkana malikdirlər.

Author: Aleksey Struçenko, Jet Infosystems verilənlər bazası şöbəsinin rəhbəri

Mənbə: www.habr.com

Добавить комментарий