فهرست مطالب این مقاله:
پرفورمنس کانترز برای نظارت بر اجزای سیستم مانند پردازنده ها، حافظه، شبکه و دستگاه های I/O مورد استفاده قرار می گیرند.
پرفورمنس کانترز
برای بسیاری از افرادی که در زمینه مدیریت خدمات فناوری اطلاعات کار می کنند، به خصوص افرادی که سمت راهبر شبکه یا Network Administrator را به دوش می کشند، حداقل یکبار پیش آمده که از سرعت پایین و یا وقفه در عملکرد سرور ها به ستوه آمده باشند. اگر خوش شانس باشیم با یک بررس سطحی Task Manager ممکن است دلیل مشکل را پیدا کنیم، اما اگر شانس با ما یار نباشد نیاز به ابزار های کامل تری مثل ابزار PerfMon ویندوز داریم.
ابزار Performance Monitor که با اجرای دستور PerfMon در Run ویندوز قابل دسترسی است، شاخص های مفیدی را در اختیار شما قرار می دهد که به کمک آنها می توانید تقریبا همه عملکرد های سیستم عامل و نرم افزار و سرویس ها را زیر نظر بگیرید و ریشه مشکلات را شناسایی کنید.در این مطلب ما مهمترین کانتر هایی که در درجه اول باید بررسی شوند را به شما معرفی میکنیم.
پرفورمنس کانترز برای نظارت بر اجزای سیستم مانند پردازنده ها، حافظه، مانیتورینگ شبکه و دستگاه های I/O مورد استفاده قرار می گیرند. شمارنده های عملکرد در دسته های مختلف سازماندهی و گروه بندی می شوند. به عنوان مثال، دسته پردازنده شامل کانترهای مربوط به عملکرد پردازنده مانند زمان پردازنده، زمان بیکار بودن، زمان قطع شدن و غیره می باشد. در صورت استفاده از پرفورمنس کانترز در برنامه، می توان داده های مربوط به عملکرد را دریافت کرده و آنها را با معیارهای قابل قبول مقایسه کرد.
تعداد پارامترهای پرفورمنس کانترز که توسط تست کننده یا طراح در نظر گرفته می شود، بسته به نوع و اندازه کاربردی که باید مورد آزمایش قرار گیرد، متفاوت است. برخی از این کانترها و مقادیر آستانه آنها برای تجزیه و تحلیل عملکرد به شرح زیر است:
کانترهای حافظه
1. Memory: Available Mbytes: این مقدار، رم فیزیکی موجود برای پردازش های در حال اجرا روی سیستم را توصیف می کند.
آستانه: مقدار پایدار مگابایت های موجود کمتر از 20 تا 25 درصد حافظه رم نصب شده نشانگر عدم حافظه کافی است. مقادیر زیر 100 مگابایت ممکن است فشار حافظه را نشان دهد.
توجه: این کانتر تنها آخرین مقدار مشاهده شده را نشان می دهد و یک میانگین نیست.
2. Memory – Pages /sec: نرخی را که در آن صفحات خوانده شده یا روی دیسک نوشته می شوند نشان می دهد.
آستانه: Memory-Pages /sec بالاتر از 5 نشان دهنده مشکلات احتمالی است.
3. Process: Private Bytes: _Total: تخصیص فعلی حافظه را نشان می دهد که نمی تواند با سایر پردازش ها به اشتراک گذاشته شود. از این کانتر می توان برای شناسایی نشت حافظه در برنامه های NET استفاده کرد.
4. Process: Working Set: _Total: این مقدار حافظه فیزیکی است که توسط کلیه پردازش های ترکیبی استفاده می شود. اگر مقدار این کانتر به مقدار قابل توجهی زیر مقدار Process: Private Bytes: _Total باشد نشان دهنده این است که پردازش ها به شدت در حال پیجینگ هستند. اختلاف بیش از 10٪ یک اختلاف قابل توجه است.
کانترهای پردازنده
1. % Processor Time_Total Instance: درصد زمان سپری شده ای که یک CPU مشغول اجرای یک موضوع است را نشان می دهد.
آستانه: Processor % Time بیش از 85٪ ممکن است نشان دهنده این باشد که عملکرد پردازنده محدود شده است.
2. % Privilege Time: درصد موضوعاتی که در حالت privileged (پرونده یا شبکه I / O یا اختصاص حافظه) اجرا می شوند.
آستانه: Processor % Time به طور مداوم بیش از 75٪ نشانگر یک مشکل احتمالی است.
3. Processor Queue Length: تعداد کارهایی که آماده اجرا توسط پردازنده ها هستند می باشد.
آستانه: Processor Queue Length بزرگتر از 2 نشانگر یک مشکل احتمالی است.
توجه: مقادیر بالا لزوماً نشام دهنده Processor % Time بد نیستند. اما اگر سایر کانترهای مربوط به پردازنده، مانند % Privilege Time یا Processor Queue Length افزایش پیدا کنند، ممکن است استفاده زیاد از CPU به دلیل یک مشکل احتمالی بوده و ارزش بررسی را داشته باشد.
کمتر از %60 مصرف = سالم
61% – 90% مصرف = نظارت یا احتیاط
91% – 100% مصرف = بحرانی
4. System\Context Switches /sec: در مواقعی رخ می دهد که موضوعات دارای اولویت بالاتر موضوعاتی را که در حال حاضر در حال اجرا بوده و دارای اولویت پایین تری هستند متوقف می کنند. این مطلب می تواند نشان دهنده این باشد که موضوعات زیادی برای استفاده از زمان پردازنده در حال رقابت هستند. اگر استفاده زیادی از پردازنده صورت نگیرد و سطح سوئیچینگ بسیار کم باشد، می تواند نشانگر مسدود شدن موضوعات باشد.
آستانه: به عنوان یک قاعده کلی، نرخ context switching کمتر از 5000 در هر ثانیه برای هر پردازنده، نشان دهنده این است که جای نگرانی نیست. اگر نرخ context switching بیش از 15000 در ثانیه در هر پردازنده باشد، احتمالا محدودیت وجود دارد.
کانترهای دیسک
1. Physical Disk (instance)\Disk Transfers/sec: برای نظارت بر فعالیت دیسک، می توانیم از این کانتر استفاده کنیم. هنگامی که اندازه گیری بالاتر از 25 دیسک I/O در ثانیه باشد، زمان پاسخگویی دیسک ضعیف است (و ممکن است به یک مشکل بالقوه تبدیل شود). برای کشف علت اصلی مشکل، از کانتر بعدی استفاده می کنیم.
2.Physical Disk (instance)\% Idle Time: اگر میزان این کانتر کمتر از 20% باشد، نشان دهنده این است که فعالیت ها برای اجرا در صف انتظار می مانند و نیاز به استفاده از سخت افزار جدید و یا ارتقاء نرم افزار وجود دارد.
3.Avg. Disk sec/Transfer: تعداد ثانیه ای که برای تکمیل یک دیسک I/O طول می کشد.
4. Avg. Disk sec/Read: میانگین زمان خواندن داده ها از دیسک در ثانیه است.
5.Avg. Disk sec/Write: میانگین زمان نوشتن اطلاعات به ثانیه در دیسک است.
کمتر از 10 ms خیلی خوب
بین 10 – 20 ms خوب
بین 20 – 50 ms کند، نیاز به توجه دارد
بیشتر از 50 ms تنگنای I / O جدی
توجه: این سه کانتر در لیست فوق باید به طور مداوم دارای مقادیر تقریبی (20ms) یا پایینتر باشند و هرگز نباید از (50ms) تجاوز کنند.
کانترهای شبکه
1. Network Interface: Output Queue Length: تعداد بسته های موجود در صف انتظار برای ارسال است. در صورت وجود میانگین پایدار بیش از دو بسته در یک صف، مشکلی وجود دارد.
آستانه: اگر این کانتر به مدت 15 دقیقه یا بیشتر بیش از 3 باشد، NIC (کارت رابط شبکه) مقصر است.
2. Network Segment: %Network Utilization: ٪ پهنای باند شبکه در حال استفاده در این بخش است.
آستانه: برای شبکه های اترنت، اگر مقدار به طور مداوم در حدود 50٪ – 70٪ باشد، نشان دهنده این است که این بخش در حال تبدیل شدن به یک تنگنا است.
نتیجه گیری
این مقادیر ممکن است دقیقاً محدوده آستانه را نشان ندهند، اما می توانند معیار خوبی برای سنجش عملکرد باشند.