تکنیک های بهینه سازی اجرا در سرور IIS

سه شنبه 26 مرداد 1395

امروزه ، بهبود کارایی برنامه های تحت وب از نگاه کسب وکار مسئله ی حیاتی به حساب می آید.همه از برنامه های تحت وب انتظار دارند که کاربر پسند ، امنیت بالا ، عملکرد بهتر به همراه یک ظاهری زیبا باشد . بنابراین ، در این مقاله ، ما به شما تعدادی از تکنیک های بهینه سازی سرور IIS را نشان می دهیم .

تکنیک های بهینه سازی اجرا در سرور IIS

هنگامی که  شما   این تکنیک ها را در سرور IIS به کار بگیرید.ما مطمئن هستیم که تفاوت آن را در مقایسه با عملکرد سایر برنامه ها متوجه می شوید.

تکنیک 1 : فشرده سازی HTTP

زمانی که شما این تکنیک را فعال میکنید ، پاسخ های HTTP  (در هر دو ، محتوای استاتیک و پویا) ابتدا فشرده سازی می شود و سپس پاسخ فشرده سازی شده به کاربر نهایی ارسال می شود.به همراه این تکنیک ، شما می توانید از پهنای باند به صورت کامل به بهترین روش استفاده کنید.که نتیجه ی آن انتقال سریعتر داده ها بین سرور IIS و مرورگر می شود.

برای فعال سازی فشرده سازی HTTP ، مراحل زیر را دنبال کنید:

مرحله1:

روی دکمه های Windows + R فشار دهید و INETMGR را تایپ کنید.

مرحله2:

شما یک گزینه به نام Compression پیدا خواهید کرد .روی آن دوبار کلیک کنید.

 

مرحله 3:

در اینجا شما یک پنجره ی متفاوت دارید که می توانید گزینه هایی را به همراه چک باکس ببینید ، مانند شکل زیر  :

Enable dynamic content compression        

Enable static content compression

گزینه های بالا را انتخاب کنید .برای دیدن منبع،  به تصویر زیر  نگاه کنید:

 

تکنیک 2: ذخیره ی خروجی صفحه ی وب

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

تکنیک 3: غیرفعال کردن اشکال زدایی سمت سرویس گیرنده (Client-Side) و سمت سرور(Server-Side)

به طور کلی، ما ویژگی اشکال زدایی را در Development environment فعال میکنیم ، که به ما پیشنهاد می شود و همچنین تمرین خوبی می باشد.این کار به ما کمک می کند تا کد خود را تست کنیم و مطمئن شویم که کدها همانطوری که ما انتظار داشتیم کار می کند.ما باید هم کد سمت کاربر و هم سمت سرور را اشکال زدایی کنیم.که به ما در احراز هویت و رفع اشکالات کمک می کند.در حالی که در محیط Production فعال سازی این ویژگی توصیه نمی شود زیرا سبب بروز مشکلاتی در عملکرد می شود.اگر این ویژگی را در محیط production غیر فعال کنید ، پس از آن شما افزایش عملکرد کمی در برنامه خود دریافت خواهید کرد.

لطفا مراحل زیر را برای غیر فعال کردن این ویژگی در سرور IIS دنبال کنید.

مرحله1: روی دکمه ی Windows+ R  فشار دهید و INETMGR را فشار دهید.

مرحله2:شما یک گزینه به نام ASP.Double خواهید دید روی آن کلیک کنید.

 

مرحله3: زمانی که شما روی ASP دوبار کلیک کنید ،  یک پنجره متفاوت برای شما باز می شود که گزینه های زیر را خواهید دید:

Enable Client-side Debugging

Enable Server-side Debugging

 

گزینه های بالا را False کنید .برای دیدن منبع ، لطفا تصویر زیر را ببینید:

 

تکنیک 4: غیر فعال کردن IIS logging

همانطوری که میدانیم ، زمانی که کاربر نهایی هر actionی را در برنامه تحت وب اجرا کند ، درخواست پردازش می شود و پاسخ ها  به کاربر نهایی برگردانده می شود .از دریافت درخواست تا گرفتن پاسخ ، سرور IIS موارد زیر را نگهداری می کند.

1.از کدام IP Address  درخواست دریافت شده است.

2.چه مدت زمانی درخواست پردازش شده است.

3.سایز درخواست

Cookie.4ها

5.جزئیات خطا و..

بیایید فرض کنید شما دارید یک کامپوننت جداگانه به نام    Logger module  نگهداری می کنید.در این مورد ، با انجام این کار جزئیات  IIS logger  دیگر مورد نیاز نخواهد بود. مانند سناریو ، شما می توانید ویژگی logger در سرور IIS را غیر فعال کنید ، که موجب بهبود کارایی می شود.

مراحل زیر را برای غیر فعال کردن logging در سرور IIS انجام دهید:

مرحله1:روی دکمه های Windows +R فشار دهید

مرحله2:شما یک گزینه به اسم logging پیدا خواهید کرد .روی آن دوبار کلیک کنید.

 

مرحله3:

شما یک پنجره خواهید دید که می توانید گزینه ی Disable را ببینید.برای دیدن منبع ، می توانید به تصویر زیر نگاه کنید.

 

تکنیک 5:افزایش هاThread در هر پردازنده:

این تکنیک حداکثر تعداد درخواست است که می تواند به صورت موازی پردازش شود.در سرور IIS ، مقدار پیش فرض برای Treadها در هر پردازنده 25  تا می باشد.این به این معناست که سرور IIS می تواند به طور همزمان 25 درخواست را پردازش کند.

اگر شما بخواهید محدوده ی آن را افزایش دهید ، می توانید تا 100 عدد  افزایش دهید ، که این کار پیشنهاد می شود.

لطفا مراحل زیر را برای افزایش محدوده دنبال کنید.

مرحله 1: دکمه های Windows + R فشار دهید وسپس INETMGR را تایپ کنید.

مرحله 2: یک گزینه به نام ASP. Doubleپیدا خواهید کرد روی آن کلیک کنید.

 

مرحله 3: در پنجره بعدی ، شما می توانید تعداد محدوده را تنظیم کنید.تصویر زیر را ببینید.

 

تکنیک 6:افزایش حد صف

در بیش تر موارد ، ممکن است پاسخ سرور IIS را دریافت کنید، مانند “Server too busy”، با کد وضعیت 503.

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

لطفا مراحل زیر را برای افزایش محدوده دنبال کنید:

مرحله1: دکمه های Windows + R فشار دهید وسپس INETMGR را تایپ کنید.

مرحله2: یک گزینه به نام ASP.Double پیدا خواهید کرد روی آن دوبار کلیک کنید.

 

 

مرحله3:در پنجره ی بعدی ، می توانید گزینه ی Limits Properties را پیدا کنید . اگر شما آن را باز کنید ، سپس یک گزینه ی Queue Length خواهید دید در این جا می توانید محدوده را تنظیم کنید.

 

 

تکنیک 7: پیکربندی HTTP expires header   

این گزینه به شما کمک میکند تا میزان درخواست از سرور IIS را به حداقل برسانید. HTTP expires header به مروگر کاربر (Client) برای ذخیره صفحات وب و المان های آن کمک میکند، مانند CSS ، Images و...

لطفا مراحل زیر را برای تنظیم HTTP Expires دنبال کنید:

مرحله 1: دکمه های Windows + R فشار دهید وسپس INETMGR را تایپ کنید.

مرحله2: یک گزینه به نام HTTP Response Headers خواهید دید.روی آن دوبار کلیک کنید.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید