چگونه می توان در IIS نظیمات Dynamic Caching را اعمال نمود؟

 

راهنمای تنظیمات Dynamic Caching در IIS
 
در IIS  استفاده از ویژگی  Output caching برای خروجی های داینامیک باعث کاهش بار سرور و زمان پاسخ دهی آن می شود.  Output caching برای صفحات داینامیک بسیار مناسب است ولی در مقابل فعال کردن آن برای فایلهای استاتیک مانند فایلهای HTML و تصاویر مناسب نبوده و می تواند بار اضافی بیشتری را تولید کند.
این ویژگی زمانی مفید است که از اسکریپت برای ایجاد خروجی های داینامیک استفاده کنید  و در این حالت دیگر  نیازی نیست این اسکریپتها برای هر درخواستی پردازش شوند. بهترین گزینه برای استفاده از Output caching صفحاتی هستند که داده های داینامیک ایجاد می کنند و قرار نیست که خروجی آنها به ازای هر درخواست تغییر کنند.
 
IIS از دو روش برای Output caching پشتیبانی می کند:
 
varyByQuerystring: آدرس URL ثابت است ولی مقدار  Query String  تغییر می کند.
 
varybyHeaders: بر اساس هدر های HTTP که از سمت کاربر به سرور ارسال می شود عمل Caching می تواند متفاوت باشد.
 
ذکر این نکته ضروری است که  با فعال کردن Output caching ، IIS  بلافاصله آن درخواست را Cache نمی کند، بلکه درخواست باید چندین بار ارسال شود تا IIS  میزان ارزش Caching آن درخواست را مورد بررسی قرار دهد. یک درخواست تنها در صورتی Cache می شود که مقدار درخواستی یک صفحه بیش از مقدار تعیین شده frequentHitThreshold در طول زمان تعیین شده frequentHitTimePeriod باشد. مقدار پیش فرض frequentHitTimePeriod معادل 10 ثانیه و frequentHitThresholdنیز  2 ثانیه است.
 
 
تنظیمات مربوط به Output Caching از طریق IIS Manager :
 
1. در منوی Start بر روی Administrative Tools کلیک کرده و  Internet Information Services (IIS) Manager را باز کنید.
2. در سمت راست در میان آیکون های موجود ، بر روی گزینه Output Caching   کلیک کنید.
 
 
 
3. در ستون سمت راست بر روی گزینه Add کلیک کنید، در صفحه باز شده می توانید Rule مربوطه را ایجاد نمایید.
 
 
 
 
4.در بخش File name extension  پسوند فایل مربوطه را وارد کنید، به عنوان مثال ..aspx  و سپس User-mode caching را فعال نمایید.
 
 
 
 
6.بر روی گزینه Advanced کلیک کرده و  Query string variable(s)  را تیک بزنید .  در کادر Query string variables  باید متغیرهای مورد نظر را وارد کنید.
( گزینه Advanced تنها در حالت  User Mode Caching فعال خواهد بود)
 
 
 
 
8. با فعال کردن Headers نیز می توانید هدرهای مورد نظرتان را تعریف کنید تا بر اساس آنها Caching صورت گیرد.
 
 
 
توضیحات بخش File Cache Monitoring :
 
 
 
 
 
 Using file change notifications: با فعال کردن این گزینه تا زمانی که فایلهای تعریف شده تغییرنکنند در Cache باقی خواهند ماند.
 At time intervals: با فعال کردن این گزینه و تعریف یک بازه زمانی فایلهای تعریف شده در Cache باقی می مانند.
Prevent all Caching: با فعال کردن این گزینه، عمل Caching برای فایلهای تعریف شده غیر فعال می شود.
 
 
 
حالت kernel-mode :
 
 استفاده از Caching در حالت kernel-mode باعث افزایش سرعت و کارایی وب سایت می شود. در این حالت تنظیمات Caching در سمت سرور صورت گرفته و در Http.sys (سطح Kernel) انجام می شود در صورتی که در حالت user mode این تنظیمات در فرایند پردازش IIS صورت می گیرد.
لازم به ذکر است که بین User Mode و Kernel Mode دو تفاوت عمده وجود دارد :
1.Kernel mode از ماژول هایی که باید در حالت User Mode عمل کنند پشتیبانی نمی کند : مانند Authentication
2.kernel mode تنها از varyByHeaders پشتیبانی می کند.