AWR: پایگاه داده چقدر اغراق آمیز است؟

با این پست کوتاه می خواهم یک سوء تفاهم مربوط به تجزیه و تحلیل پایگاه های داده AWR در حال اجرا بر روی Oracle Exadata را برطرف کنم. تقریباً 10 سال است که دائماً با این سؤال روبرو بوده ام: سهم نرم افزار Exadata در بهره وری چیست؟ یا با استفاده از کلمات تازه ساخته شده: کار یک پایگاه داده خاص چقدر "متخصص" است؟

AWR: پایگاه داده چقدر اغراق آمیز است؟

اغلب به این سوال صحیح، به نظر من، با استناد به آمار AWR به اشتباه پاسخ داده می شود. روش انتظار سیستم را ارائه می دهد که زمان پاسخ را به عنوان مجموع زمان عملکرد پردازنده ها (DB CPU) و زمان انتظار کلاس های مختلف در نظر می گیرد.

با ظهور Exadata، انتظارات سیستمی خاص مربوط به عملکرد نرم افزار Exadata در آمار AWR ظاهر شد. به عنوان یک قاعده، نام چنین انتظارهایی با کلمه "سلول" شروع می شود (سرور Exadata Storage سلول نامیده می شود)، که رایج ترین آنها انتظار با نام های خود توضیحی "اسکن جدول هوشمند سلولی"، "چند بلوک سلولی" است. خواندن فیزیکی» و «خوانش فیزیکی تک بلوک سلولی».

در بیشتر موارد، سهم چنین انتظارات Exadata در کل زمان پاسخ اندک است و بنابراین آنها حتی در بخش Top10 Foreground Events بر اساس زمان انتظار کل قرار نمی گیرند (در این مورد، شما باید آنها را در قسمت انتظار پیش زمینه جستجو کنید. بخش رویدادها). با سختی زیاد، نمونه ای از AWR روزانه را از مشتریان خود پیدا کردیم که در آن انتظارات Exadata در بخش Top10 گنجانده شده بود و در مجموع حدود 5٪ بود:

واقعه

منتظر است

کل زمان انتظار (ثانیه)

میانگین صبر کنید

زمان %DB

کلاس صبر کنید

سی پی یو DB

115.2K

70.4

SQL*Net داده های بیشتری از dblink

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

ورودی/خروجی کاربر

پیام SQL*Net از dblink

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 magic در عملکرد پایگاه داده زیاد نیست - از 5٪ تجاوز نمی کند و پایگاه داده ضعیف "exadatize" می شود.

2. اگر چنین پایگاه داده ای از Exadata به معماری کلاسیک "سرور + آرایه" منتقل شود، عملکرد تغییر زیادی نخواهد کرد. زیرا حتی اگر معلوم شود که این آرایه سه برابر کندتر از سیستم ذخیره سازی Exadata است (که برای آرایه های All Flash مدرن به سختی امکان پذیر است)، سپس با ضرب 5% در سه، سهم انتظار I/O را به 15% افزایش می دهیم. - پایگاه داده مطمئناً از این کار جان سالم به در خواهد برد!

هر دوی این نتیجه گیری ها نادرست هستند، علاوه بر این، درک ایده پشت نرم افزار Exadata را تحریف می کنند. Exadata نه تنها ورودی/خروجی سریع را ارائه می کند، بلکه در مقایسه با معماری کلاسیک سرور + آرایه، تفاوت اساسی دارد. اگر عملیات پایگاه داده واقعاً "exadapted" باشد، منطق SQL به سیستم ذخیره سازی منتقل می شود. سرورهای ذخیره سازی، به لطف تعدادی مکانیسم خاص (در درجه اول Exadata Storage Indexes، اما نه تنها)، خود داده های لازم را پیدا کرده و DB را به سرورها ارسال می کنند. آنها این کار را کاملاً کارآمد انجام می دهند، بنابراین سهم انتظار Exadata معمولی در کل زمان پاسخ کم است. 

این سهم در خارج از Exadata چگونه تغییر خواهد کرد؟ این چگونه بر عملکرد پایگاه داده به عنوان یک کل تأثیر می گذارد؟ تست به بهترین وجه به این سوالات پاسخ خواهد داد. برای مثال، انتظار برای «اسکن جدول هوشمند سلولی» در خارج از Exadata می‌تواند به یک Table Full Scan تبدیل شود که ورودی/خروجی کل زمان پاسخ را به خود اختصاص دهد و عملکرد به‌طور چشمگیری کاهش یابد. به همین دلیل است که هنگام تجزیه و تحلیل AWR، در نظر گرفتن درصد کل انتظارات Exadata به عنوان سهم جادویی آن در عملکرد، و حتی بیشتر از آن استفاده از این درصد برای پیش بینی عملکرد خارج از Exadata اشتباه است. برای درک اینکه کار پایگاه داده چقدر "دقیق" است، باید آمار AWR بخش "آمار فعالیت نمونه" را مطالعه کنید (آمارهای زیادی با نام های خود توضیحی وجود دارد) و آنها را با یکدیگر مقایسه کنید.

و برای درک اینکه یک پایگاه داده خارج از Exadata چه احساسی خواهد داشت، بهتر است یک کلون پایگاه داده از یک نسخه پشتیبان در معماری هدف ایجاد کنید و عملکرد این کلون را تحت بار تجزیه و تحلیل کنید. صاحبان Exadata، به عنوان یک قاعده، این فرصت را دارند.

نویسنده: الکسی استروچنکو، رئیس بخش پایگاه داده Jet Infosystems

منبع: www.habr.com

اضافه کردن نظر