به طور مثال هنگامی که یک دیتابیس می خواهد عمل مرتب سازی را روی تعدادی زیادی از داده ها انجام دهد احتیاج به حافظه دارد. اگر سیستم عامل این حافظه را از RAM در اختیار نرم افزار قرار دهد سرعت آن 100 برابر بیشتر از هنگامی خواهد بود که سیستم عامل این حافظه را از روی Page File در اختیار نرم افزار قرار دهد. این مثال به خوبی نمایانگر نقش حافظه RAM برای سرورهای نرم افزاریمی باشد.
این پارامتر تعداد عملیات Page شدن اطلاعات بر روی هارد دیسک را نشان می دهد و مقدار آن به خوبی می تواند نشانگر مشکل RAM باشد. اگر مقدار این پارامتر به صورت متداول بالای 20 باشد، سرعت عملکرد سرور پایین خواهد آمد.
البته باید توجه کرد که در تشخیص RAM به عنوان Bottleneck، هیچ گاه نباید به مانیتور کردن یکی از دو پارامتر اشاره شده، اکتفا کرد. بلکه باید هر دو را به صورت همزمان مانیتور کرده و سپس در مورد نتایج بدست آمده اظهار نظر نمود.
اگر در سرور مشکل از RAM باشد، به راحتی می توان با اضافه کردن RAM جدید مشکل را برطرف کرد. البته باید توجه کرد که RAM جدید سازگار با RAM های قبلی و Motherboard سرور باشند.
2- CPU
هرگاه یک سرور تعداد Process های زیادی را به صورت همزمان انجام دهد، سرعت پاسخگویی به Client ها پایین خواهد آمد و در نتیجه کاربران شبکه ناراضی خواهند بود. یکی از وظایف اصلی مدیران شبکه فراهم کردن رضایت کاربران می باشد.
ساده ترین روش اندازه گیری Busyness یک سرورمانیتور کردن پارامتر Processor(_Total)\%ProcessorTimeمی باشدکه میزان Utilization پردازنده سرور (CPU) را توسط کلیه Process ها نمایش می دهد.
باید توجه داشت که اگر سرور دارای چند پردازنده باشد، آنگاه پارامتر Processor(_Total)\%Processor Timeمیزان میانگین Utilization همه ی پردازنده ها را نمایش خواهد داد.
اگر پس از مانیتور کردن Processor(_Total)\%Processor Time، مشاهده شود که مقدار آن برای مدت زمان طولانی نزدیک به 100% باشد (شکل شماره 2)، مطمئنا CPU به نسبت سرویس های فعال آن سرور ضعیف بوده و باید با مانیتور کردن پارامترهای جزیی تر، Process ای را که میزان Processor Utilization بیشتری را به خود اختصاص می دهد معین نمود.
در عین حال میزان بالای Processor Utilization همیشه نمی تواند نشانه ای از ضعیف بودن CPU باشد. به طور مثال هنگامی که سرور در حال Backup گیری از اطلاعات می باشد Processor Utilization بالا یک امر طبیعی است، به خصوص که عمل Encryption و Compression هم روی اطلاعات انجام شود.
در حقیقت اگر میزان Processor Utilization به طور طبیعی حدود 80% باشد، وضعیت طبیعی و خوب است و نشان می دهد که این سرور به صورت موثر در حال انجام دادن وظایف خود می باشد و به اصطلاح Under Utilized (بدون استفاده) نمی باشد.
اگر هم Processor Utilization یک سرور برای مدت زمان طولانی در حدود 20% یا 30% باشد، نشان می دهد که این سرور Under Utilized می باشد و می توان از آن به عنوان یک Virtual Server استفاده کرد.
یک روش دیگر برای مانیتور کردن Utilization پردازنده سرور، مانیتور کردن دو پارامتر جزئی تر می باشد. Processor(_Total)\%Privileged Time و Processor(_Total)\%User Time که به ترتیب Processor توسط هسته ویندوز و توسط نرم افزارهای نصب شده روی ویندوز را نمایش می دهند. اگرProcessor(_Total)\%Privileged Time بالا باشد نشانگر این است که این پردازنده قادر به اجرای سریع خود سیستم عامل نمی باشد چه برسد به اجرای نرم افزار های جانبی. یا به اصطلاح، این CPU توانایی اجرای نرمال این سیستم عامل را ندارد، که در این حالت باید نسبت به تعویض پردازنده یا اضافه کردن پردازنده جدید اقدام کرد. Utilization
اگر Processor(_Total)\%User Time بالا باشد، نشان می دهد که سرویس ها یا نرم افزار های زیادی روی این سرور قرار دارد که می توان با ارتقا دادن سرور و یا منتقل کردن بعضی از سرویس ها به سرور دیگر این مشکل را برطرف کرد.
اگر سرور در شبکه، سرویس های متعددی را ارائه می کند و یا نرم افزارهای زیادی روی آن اجرا می شود، می توان یک پارامتر مهم دیگر را مانیتور کرد: System\Processor Queue Length که نشان دهنده تعداد Thread هایی می باشد که در انتظار اجرا شدن توسط پردازنده هستند. اگر مقدار این پارامتر در هنگامی که CPU Utilization حدود 100% است، بالای 5 باشد، نشان می دهد که پردازنده برای این سرور ضعیف می باشد و احتیاج به ارتقا دارد. ولی اگر در هنگام CPU Utilization بالا این مقدار کمتر از 2 باشد، این حالت طبیعی است و نگرانی در مورد نحوه عملکرد پردازنده وجود نخواهد داشت.