پنل اس ام اس

وبلاگ – خرید سرور مجازی

سرور مجازی ایران,هاست دانلود,میزبانی وب

خانه / سرور مجازی / راهکارهایی جهت بالا بردن کارایی وب سرور IIS (قسمت اول)

راهکارهایی جهت بالا بردن کارایی وب سرور IIS (قسمت اول)

یکی از مهمترین فاکتورهایی که باعث می شود صفحات وب ما با سرعت بهتری Load شوند ، مدیریت و پیکربندی درست و البته بهینه سازی وب سرور مربوط به آن وب سایت است. این مورد در خصوص وب سرور IIS شرکت مایکروسافت نیز صادق است. شما با استفاده از وب سرور IIS و از نسخه 7 به بالای این وب سرور می توانید تنظیماتی را انجام دهید تا این وب سرور بتواند سرویس دهی بهتر و البته کارایی بهتری در سرویس دهی صفحات وب از خودش نشان بدهد. در این مطلب فنی می خواهیم در انجمن تخصصی فناوری اطلاعات ایران در خصوص چگونگی بهینه سازی وب سرور IIS برای سرویس دهی و بالا بردن کارایی وب سایت ها صحبت کنیم بنابراین تا انتهای مطلب با ما باشید.

پیکربندی تنظیمات Logging یا لاگ برداری

اگر طبق عادت مدیرهای شبکه وب سرور IIS را بصورت پیشفرض و با تنظیمات اولیه نصب می کنید ، باید بدانید که IIS تقریبا هر چیزی که در اطرافش اتفاق می افتد را Log برداری می کند. لاگ برداری از یک سرویس یک ویژگی امنیتی محسوب می شود که بعدها می توانید از این لاگ ها برای انجام تجزیه و تحلیل های وب سرور استفاده کنید اما در بیشتر اوقات ما اصلا به Log ها یا نگاه نمی کنیم و یا Log هایی را ثبت می کنیم که اصلا مفید نیستند و به ندرت مورد استفاده قرار می گیرند. طبیعی است که لاگ برداری به خودی خود یک بار کاری بر روی CPU وب سرور می گذارد که این بار کاری می تواند به اندازه ای زیاد شود که کارایی وب سرور شما را واقعا تحت تاثیر قرار بدهد. هیچوقت فراموش نمی کنم که در یک سازمان دولتی که به عنوان مشاور کار می کردم ، یکی از وب سرورهای عمومی IIS این سازمان به اندازه ای Log برداری کرده بود که درایو C این وب سرور تنها 5 گیگابایت از 300 گیگابایت فضای موجود را اشغال نکرده بود. بعد از بهینه سازی و حذف Log برداری های غیر ضروری 290 گیگابایت فضای خالی در وب سرور به دلیل حذف کردن Log ها ایجاد شد.

IIs (5)

به هر حال هر لاگی به درد ما نمی خورد و شما باید تنظیمات Logging را به اندازه ای پیکربندی کنید که نیاز دارید ، برای اینکار می توانی به کلی Logging های اضافی را غیرفعال کنید. برای پیکربندی تنظیمات Logging وب سرور IIS ابتدا وارد کنسول مدیریتی آن شوید و سپس از قسمت Sites بر روی وب سرور راست کلیک کنید و حالت Feature View را فعال کنید و بر روی Log کلیک کنید و تا امکانات Logging وب سرور IIS باز شود و از این قسمت می توانید Logging های غیر ضروری IIS را غیر فعال کنید. توجه کنید که شما می توانید فرآیند Log برداری را هم در سطح سرور و هم در سطح وب سایت انجام دهید. دقت کنید که اگر واقعا می دانید که از نظر امنیتی هیچوقت به Log ها مراجعه نمی کنید ترجیجا از طریق Server Manager ویندوز به صورت کلی تیک قسمت Http Logging و سایر Logging ها را غیرفعال کنید و از وب سرور خود حذف کنید.

غیرفعال کردن ASP Debugging

زمانیکه شما سرور خود را در یک محیط عملیاتی اجرا می کنید ، به احتمال قریب به یقین نیازی به فعال کردن قابلیت ASP debugging و به طبع آن ASP.NET debugging نخواهید داشت. غیرفعال کردن قابلیت Debugging برای ASP و ASP.NET باعث آزاد شدن مقدار قابل توجهی از منابع پردازشی CPU و اختصاص آن به سایر پردازش ها می شود. برای غیرفعال کردن Debugging کافیست بر روی وب سرور IIS خود کلیک کنید و از قسمت Feature View در سمت راست تصویر بر روی compilation کلکی کنید و بر روی debugging properties کلیک کنید و سپس مقادیر زیر را به شکل زیر در حالت false قرار بدهید :

IIs (4)

 

1
2
Server side debugging: false
Client side debugging: false

 

IIs (3)

 

تعداد Thread های ASP.NET و ASP هر CPU را به محدود کنید

اینکار باعث می شود تعداد درخواست هایی که IIS بصورت همزمان مدیریت می کند محدود شود. معمولا مقدار پیشفرض این پارامتر در IIS عدد 25 است . حداکثر مقداری که شما می توانید برای این مورد نظر بگیرید عدد 100 است . برای اینکه بتوانید بهترین کارایی را از وب سرور IIS دریافت کنید بهترین گزینه عدد 50 است. برای تغییر این مقدار در کنسول مدیریتی IIS به قسمت Feature View و قسمت ASP یا ASP.NET بروید و بر روی آن دابل کلیک کنید. سپس بر روی limit properties کلیک کنید و مقدار مورد نظرتان را قرار بدهید. البته شما باید با تغییر دادن این مقادیر و مانیتور کردن مرتب وب سرور خود کارایی وب سرور را ابتدا آزمایش کنید و مقدار مناسب وب سرور خود را انتخاب کنید.

IIs (1)

 

خاصیت queue length یا طول صف ASP و ASP.NET را تغییر بدهید

آیا تا به حال با خطای HTTP Error 503 یا Server Too Busy در وب سرور ها مواجه شده اید ؟ این خطا به این معناست که سرور IIS یا هر وب سرور دیگری تعداد درخواست های بسیار زیادی را دریافت کرده است که خارج از محدوده سرویس دهی وب سرور می باشد ، در خصوص کاربران وب سرور IIS هم به همین شکل است ، شما می توانید تعداد این درخواست ها که وب سرور می تواند به آنها پاسخگو باشد را مدیریت کنید و بر حسب اندازه ترافیکی که احساس می کنید وب سایت شما خواهد داشت تعداد درخواست هایی که می توانند در صف انتظار پاسخگویی قرار بگیرند را بالا یا پایین بیاورید. اگر Queue Length شما بالا باشد ، IIS صرفا به کاربرانی پیام Server Busy یا 503 را نشان می دهد که مدت زمان طولانی تری در صف باقی مانده اند .

IIs (3)

اگر مقدار این پارامتر کم باشد سرور در وهله های زمانی بسیار کوتاه پیام Server Too Busy را نمایش می دهد و شما به مراتب خیلی سریعتر پیام 503 Service Unavailable را دریافت می کنید. اگر شما مطمئن نیستید که چه عددی بهتر است در این قسمت به عنوان Length قرار بگیرد بهتر است از طریق راهنمای مایکروسافت عمل کنیم ، در راهنمای مایکروسافت برای تعیین این عدد به این شکل آمده است که اگر شما 4 پردازنده دارید و ASP Thread Processor شما مقدار پیشفرض 25 دارد ، شما می توانید Queue Length را ب به شکل 25 ضربدر 4 که برابر عدد 100 می شود قرار بدهید یعنی به ازای هر پردازنده یک 25 اضافه می شود شما می توانید این مقدار را از قسمت limit properties با همان روشی که ASP Thread Processor را عوض می کنید تغییر بدهید.

نویسنده : محمد نصیری
منبع : انجمن تخصصی فناوری اطلاعات ایران