هاست و دامنه

تأثیر خاموش کردن حافظه پنهان هسته (Kernel Mode Cache) در IIS

چه تغییراتی پس از غیرفعال کردن kernel mode cache در عملکرد IIS رخ می‌ دهد؟

تأثیر خاموش کردن حافظه پنهان هسته (Kernel Mode Cache) در IIS

 

مقدمه

همانطور که می دانید IIS وب‌سرور ویندوزی است که توسط مایکروسافت توسعه پیدا کرده است و بر روی سیستم عامل ویندوز اجرا می‌ شود. این وب‌سرور برای تبادل محتوای استاتیک و داینامیک وب با کاربران اینترنت مورد استفاده قرار می‌ گیرد. IIS می‌ تواند برای میزبانی، استقرار و مدیریت برنامه‌ های وب پیاده‌ سازی شده با استفاده از فناوری‌ هایی مانند ASP.NET و PHP استفاده شود.

 

حالت های پردازش در IIS

IIS برای پردازش به صورت دو لایه یا چند لایه عمل می‌ کند که شامل Kernel Mode و User Mode می‌ باشد.

  • حالت User Mode

برنامه‌ های در حالت User Mode و پردازنده‌ ای که در حالت User Mode در حال اجرا است، نمی‌ تواند به آدرس‌ های مجازی که مخصوص سیستم عامل است دسترسی پیدا کند. هنگامی‌که شما یک برنامه حالت User Mode را اجرا می‌ کنید، ویندوز فرایندی برای برنامه ایجاد می‌ کند. این پروسس یا فرایند یک فضای آدرس مجازی خصوصی و یک جدول خصوصی (Private Handle Table) برای برنامه ایجاد می‌ کند. از آنجا که فضای آدرس مجازی یک برنامه خصوصی است، یک برنامه نمی‌ تواند داده‌ های مربوط به برنامه دیگر را تغییر دهد. در نتیجه هر برنامه به صورت جداگانه اجرا می‌ شود و اگر برنامه ای خراب شود، خرابی به همان یک برنامه محدود می‌ شود و سایر برنامه‌ ها و سیستم عامل تحت تأثیر خرابی آن برنامه قرار نمی‌ گیرند.

پایگاه داده چیست و چه کاری انجام میدهد؟
مشاهده

 

  • حالت Kernel Mode

اجزای اصلی سیستم عامل در حالت Kernel Mode اجرا می‌ شوند. همه کدهایی که در حالت Kernel Mode اجرا می‌ شوند یک فضای آدرس مجازی مشترک دارند. این بدان معنی است که یک درایور در حالت Kernel Mode از سایر درایورها و سیستم عامل جدا نیست. اگر یک درایور در حالت Kernel Mode به طور تصادفی در آدرس مجازی اشتباهی داده ای بنویسد، داده‌ های متعلق به سیستم عامل یا درایور دیگری ممکن است به خطر بیفتند. در نتیجه اگر درایور در حالت Kernel Mode خراب شود، کل سیستم عامل خراب می‌ شود.

 

تفاوت Kernel Mode و User Mode

  • حالت User Mode، در حقیقت یک حالت محدود است که در این حالت برنامه ها در حال اجرا هستند.
  • User Mode، یک فرایند فضای آدرس مخصوص به خود را دارد.
  • در User Mode هر وقفه یا مشکل برای یک پردازش، متوجه کل سیستم نمی شود و فقط همان برنامه یا پردزاش را تحت تاثیر قرار می دهد.
  • در حالت User محدودیت هایی برای دسترسی به برنامه های کرنل (Kernel) وجود دارد. دسترسی مستقیم به آنها امکان پذیر نیست.
  • Kernel Mode حالت خاص و Privileged Mode ای است که کامپیوتر هنگام دسترسی به منابع سخت افزاری وارد آن می شود.
  • حالت Kernel، فرآیندها دارای فضای آدرس واحدی هستند.
  • بروز مشکل در حالت Kernel می تواند کل سیستم را تحت تاثیر قرار می دهد.

 


فعال کردن حالت User Mode Cashing در IIS Manager

۱. در منوی Start بر روی Administrative Tools کلیک کرده و Internet Information Services (IIS) Manager را باز کنید.

مدیریت ساخت نسخه پشتیبان کامل - Generating a full backup
مشاهده

۲. در سمت راست در میان آیکون های موجود، بر روی گزینه Output Caching کلیک کنید.

IIS-Manager-Output-Caching

 

۳. در ستون سمت راست بر روی گزینه Add کلیک کنید، در صفحه باز شده می توانید Rule مربوطه را ایجاد نمایید. IIS-Manager-edit-Output-Caching

 

۴. در بخش File name extension پسوند فایل مربوطه را وارد کنید، به عنوان مثال aspx. و سپس User-mode caching را فعال نمایید.

IIS-Manager-Add-Cache-Rule

 

۵. بر روی گزینه Advanced کلیک کرده و Query string variable(s) را تیک بزنید. در کادر Query string variables باید متغیرهای مورد نظر را وارد کنید.

” گزینه Advanced تنها در حالت User Mode Caching فعال خواهد بود “

 

IIS-Manager-Advansed-Cache-Rule

 

۶. با فعال کردن Headers نیز می توانید هدرهای مورد نظرتان را تعریف کنید تا بر اساس آنها Caching صورت گیرد.

 


توضیحات بخش File Cache Monitoring

Using file change notifications: با فعال کردن این گزینه تا زمانی که فایل های تعریف شده تغییرنکنند در Cache باقی خواهند ماند.

At time intervals: با فعال کردن این گزینه و تعریف یک بازه زمانی فایل های تعریف شده در Cache باقی می مانند.

Prevent all Caching: با فعال کردن این گزینه، عمل Caching برای فایل های تعریف شده غیر فعال می شود.

IIS-Manager-File-Cache-Monitoring


✔ فعال کردن حالت Kernel Mode Caching

همانطور که متوجه شدیم استفاده از Caching در حالت Kernel mode باعث افزایش سرعت و کارایی وب سایت می شود. در این حالت تنظیمات Caching در سمت سرور صورت گرفته و در Http.sys (سطح Kernel) انجام می شود در صورتی که در حالت User Mode این تنظیمات در فرایند پردازش IIS صورت می گیرد.

راهنمای گام به گام اتصال پایتون به دیتابیس MySQL
مشاهده

لازم به ذکر است که بین User Mode و Kernel Mode دو تفاوت عمده وجود دارد:

  • ۱) Kernel Mode از ماژول هایی که باید در حالت User Mode عمل کنند پشتیبانی نمی کند: مانند Authentication
  • ۲) kernel Mode تنها از varyByHeaders پشتیبانی می کند.

 

 

varyByHeaders: بر اساس هدرهای HTTP که از سمت کاربر به سرور ارسال می شود عمل Caching می تواند متفاوت باشد.

varyByQuerystring: آدرس URL ثابت است ولی مقدار Query String تغییر می کند.

 

 

IIS-Manager-Kernel-Mode-Cache

 


تأثیر خاموش کردن حافظه پنهان هسته (Kernel Mode Cache)

این تأثیر به بار سرور بستگی خواهد داشت. اگر در حال انجام ۱۰ هزار درخواست در ثانیه باشید، به شدت نیاز کش کردن را احساس خواهید نمود. با این حال، اگر حدود ۱۰۰ درخواست در ثانیه انجام دهید، احتمالاً متوجه تغییری نخواهید شد.

 


سخن پایانی

در این مقاله ما به حالت های پردازش Kernel Mode Cache و User Mode Cache و نحوه فعال کردن آنها پرداختیم. امیدواریم برای شما همراهان همیشگی تلاش‌ نت مفید واقع شده باشد.

5/5 - (2 votes)
دکمه بازگشت به بالا