آموزش پیشرفته SQL Server (جلسه نهم) - بهینه سازی عملکرد RAM

بهینه سازی عملکرد RAM، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی بهینه سازی عملکرد RAM، قسمت های قبلی را مرور فرمایید.


بهینه سازی عملکرد RAM

در ابتدا قصد داریم نحوه ی مانیتور کردن RAM را آموزش دهیم و قبل از هر چیزی باید با چند اصطلاح آشنا شوید.

  1. نحوه ی استفاده از RAM توسط سیستم عامل
  2. Page File چیست؟
  3. بررسی مفهوم Buffer در SQL Server

در ادامه به توضیح هر کدام از موارد بالا خواهیم پرداخت.


1- نحوه ی استفاده از RAM توسط سیستم عامل

زمانی که کاربر، تقاضای اجرای یک برنامه را دارد، سیستم عامل ابتدا در حافظه RAM بدنبال آن می گردد و اگر آنرا پیدا نکرد، ابتدا اطلاعات برنامه را از دیسک به RAM منتقل کرده و سپس آنرا اجرا می نماید.


2- Page File چیست؟

Page File همان حافظه مجازی یا Virtual Memory است.

در صورتیکه فضای RAM کافی نباشد، سیستم عامل از Page File برای اجرای برنامه ها استفاده خواهد کرد.

اما محل نگهداری داده های Page File بر روی دیسک است.

محل ایجاد Page File ها بصورت پیشفرض همان محلی است که فایل های سیستم عامل قرار دارد. (درایوی که سیستم عامل روی آن نصب شده است) و پیشنهاد می شود فضای Page File را 1.5 برابر ظرفیت Ram در نظر بگیرید.

برای تغیر تنظیمات Page File یا همان حافظه مجازی در Winsows 7 به مطلب روبرو مراجعه فرمایید: حافظه مجازی چیست؟


3- بررسی مفهوم Buffer در SQL Server

Buffer فضایی از حافظه RAM است که در اختیار SQL Server قرار می گیرد.

توسط Buffer Manager فضای Buffer مدیریت می شود.

اندازه Buffer مدام در حال کم و زیاد شدن است.

فضای Buffer به بخش های مختلفی تقسیم می شود.


لیست Counterها یا شمارنده های مهم حافظه RAM

در اینجا قصد داریم با استفاده از برنامه Performance Monitor حافظه RAM را مانیتور کنیم. بنابراین قبل از هر چیز باید با Counterها یا شمارنده هایی که برای این منظور می توان استفاده نمود، آشنا شد.

Counterهای لیست شده در زیر، همه برای مشخص کردن عملکرد و کارایی حافظه RAM استفاده می شوند:

  1. Memory : Available Bytes
  2. Memory : Pages/sec
  3. Memory : Pages Faults/sec
  4. Paging File : % Usage
  5. SQL Server : Buffer Manager : Buffer Cache Hit Ratio
  6. SQL Server : Buffer Manager : Page Life Expectancy
  7. SQL Server : Buffer Manager : Check Points Pages/sec
  8. SQL Server : Buffer Manager : Lazy Write/sec
  9. SQL Server : Memory Manager : Memory Grants Pending

در ادامه به توضیح مختصر هر کدام از موارد بالا خواهیم پرداخت.


1-  Memory : Available Bytes

Memory، نام Object این Counter است.

این Counter مقدار حافظه فیزیکی موجود که می توان بالافاصله به یک فرآیند تخصیص داد را مشخص می کند.

توجه: اگر مقدار این Counter بزرگتر از 100 باشد می توان گفت که حافظه RAM بصورت نرمال در حال کار است.


2-  Memory : Pages/sec

Memory، نام Object این Counter است.

این Counter تعداد دفعاتی که داده درخواستی در RAM موجود نبوده و باید برای دسترسی به آن به دیسک مراجعه کرد را مشخص می کند.

توجه: اگر مقدار میانگین این Counter کمتر از 50 باشد می توان گفت که حافظه RAM بصورت نرمال در حال کار است.


3-  Memory : Pages Faults/sec

Memory، نام Object این Counter است.

اگر برنامه ای نیاز به داده ای داشته باشد که در حافظه RAM نیست و باید از Virtual Memory واکشی شود یک Page Fault رخ داده است.

توجه: بدست آوردن مقدار مناسب برای این Counter، نیازمند بررسی سایر Counterها دارد.


4-  Paging File : % Usage

Paging File، نام Object این Counter است.

این Counter، درصد استفاده سرور از Page File را مشخص می کند.

توجه: اگر مقدار این Counter کمتر از 70 باشد می توان گفت که حافظه RAM بصورت نرمال در حال کار است.


5-  SQL Server : Buffer Manager : Buffer Cache Hit Ratio

SQL Server : Buffer Manager، نام Object این Counter است.

این Counter، درصد Pageهایی که در Buffer Pool موجود است و نیاز به خواندن آنها از دیسک نمی باشد را مشخص می کند.

توجه: اگر مقدار میانگین این Counter بزرگتر از 90باشد می توان گفت که حافظه RAM بصورت نرمال در حال کار است.


6-  SQL Server : Buffer Manager : Page Life Expectancy

SQL Server : Buffer Manager، نام Object این Counter است.

این Counter، طول عمر Page در Buffer Pool را مشخص می کند.

توجه: اگر مقدار میانگین این Counter بزرگتر از 300 ثانیهباشد می توان گفت که حافظه RAM بصورت نرمال در حال کار است.


7-  SQL Server : Buffer Manager : Check Points Pages/sec

SQL Server : Buffer Manager، نام Object این Counter است.

این Counter، تعداد Pageهایی که طی عملیات Checkpoint در دیسک نوشته می شد را مشخص می کند. هر عملیاتی بر روی داده های حافظه RAM که منجر به تغیر آنها شود باعث قرار گرفتن علامت Checkpoint بر روی آنها می شود.

توجه: اگر مقدار میانگین این Counter کمتر از 30 باشد می توان گفت که حافظه RAM بصورت نرمال در حال کار است.


8-  SQL Server : Buffer Manager : Lazy Write/sec

SQL Server : Buffer Manager، نام Object این Counter است.

این Counter، تعداد Pageهایی که طی عملیات Lazy Write در دیسک نوشته می شود را مشخص می کند. عملیات Lazy Write مانند Checkpoint است با این تفاوت که زمانی که داده های تغیر یافته Page به دیسک منتقل شد، فوراً از حافظه RAM نیز حذف خواهند شد.

توجه: اگر مقدار میانگین این Counter کمتر از 20باشد می توان گفت که حافظه RAM بصورت نرمال در حال کار است.


9-  SQL Server : Memory Manager : Memory Grants Pending

SQL Server : Memory Manager، نام Object این Counter است.

این Counter، تعداد پروسس هایی که منتظر استفاده از حافظه هستند را مشخص می کند.

توجه: اگر مقدار میانگین این Counter صفرباشد می توان گفت که حافظه RAM بصورت نرمال در حال کار است.


در ادامه آموزش برنامه Performance Monitor خواهید دید...!

با خرید جلسه 8 از بسته آموزشی "افزایش کارآیی پایگاه داده" موارد زیر را خواهید دید:

  1. توضیح کامل در مورد تمام Counter های مربوط به حافظه RAM
  2. و...

دسترسی به موارد آموزشی بالا در بسته خریداری شده

  • شماره جلسه: 9
  • نام فایل ویدئو: 03
  • فرمت فایل: mp4.

نقطه شروع بحث بالا (برنامه Performance Monitor) در ویدئو: 00:00


برای خرید و دانلود کاملآموزش پیشرفته SQL Server کلیک کنید.

READ MORE