آنچه که باید در مورد IIS Aplication Pool بدانید

آنچه که باید در مورد IIS Aplication Pool بدانید

Application Pool چیست؟

Application Pool (به فارسی: اپلیکیشن پول) مجموعه ای از پردازه های یک یا چند وبسایت است که در قالب یک پردازه یکتا به نام w3wp.exe با یک هویت در حال اجراست. کافیست Task Manager ویندوز سرور را باز کنید و از بخش Processes انبوهی از پردازه های مشابه با این نام را مشاهده کنید.

Application Pool یک فرایند کپسوله شده میان برنامه های وب ایجاد می کند که با کمک آن تمامی پردازه ها بدون ارتباط با یک دیگر اجرا می شوند بدون آنکه تداخلی در آن ها ایجاد شود. با استفاده از این تکنولوژی این قابلیت ایجاد می شود که شما چند وبسایت را تنها در قالب یک Application Pool اجرا کنید اما در عین حال نمی تواند یک وبسایت را در قالب چندین Application Pool اجرا کنید. این یک ویژگی مهم اما نه همیشه مفید است!

encapsulation یا کپسوله سازی در علم برنامه نویسی تکنیکی است که با پیدایش و گسترش شیء گرایی ( به انگلیسی: object oriented) شکل گرفت. کپسوله سازی شرایطی فراهم می کند تا همه وبسایت ها پردازه های خود را در یک قالب و فضای یکسان اجرا کنند به گونه ای که می توان تنها نتایج را دید اما جزییات غیر قابل بررسی و مشاهده هستند.

 

Private Memory در Application Pool چه کاربردی دارد؟

Private Memory یا حافظه خصوصی، حداکثر مقدار حافظه بر اساس کیلوبایت (KB) است که هندلر Worker می تواند در Application Pool به هر پردازه اختصاص دهد.
Worker یک هندلر یا نیروی کمکی برای وب سرور است که تلاش می کند پردازه ها به شیوه بهتری اجرا شوند. به گونه ای که در آن واحد پردازه های بیشتری در زمان کمتری اجرا و به نتیجه برسند.

Private Memory وبسایت ها را در استفاده از رم محدود می کند. بنابراین چنانچه همه وبسایت ها در قالب یک Application Pool اجرا شوند محدودیت بیشتری برای هر وبسایت ایجاد خواهد شد.
تنظیمات private memory

Private Memory وبسایت ها را در استفاده از رم محدود می کند. تصور کنید Private Memory در یک سرور برابر 250 مگابات تنظیم شده باشد، حال اگر همه وبسایت ها بر روی یک Application Pool ایجاد شوند این 250مگابایت بین آن ها تقسیم می شود و رم در اختیار هر وبسایت به مرور و با افزایش وبسایت ها کاهش می یابد. نکته جالب تر اینکه هر وبسایت حداکثر می تواند از 2/5 (دو پنجم) این میزان استفاده کند که در مثال ما 100مگابایت می شود. مابقی به دیگر وبسایت ها اختصاص می یابد.

بنابراین اگر هر وبسایت Application Pool مجزا داشته باشد، رم در اختیار آن به مراتب بیشتر و کیفیت و عملکرد آن بسیار بالاتر است.

چنانچه از هاست ویندوز HiSupport استفاده می کنید باید بدانید که تمامی وبسایت ها به Application Pool اختصاصی مجهز شده اند!

 

Application Pool اشتراکی چیست؟

کپسوله سازی خود عاملی بر ماهیت اشتراکی یک Application Pool است، اما یک Application Pool زمانی اشتراکی خوانده می شود که برای چند وبسایت مورد استفاده قرار میگیرد.
Application Pool اشتراکی
در بسیاری از سرویس های هاست اشتراکی ویندوز، سرویس دهنده از Application Pool اشتراکی استفاده می کنند. اما چرا؟ دلیل روشن است! صرفه جویی در مصرف رم.
همانطور که پیشتر گفته شد به ازای هر Application Pool یک میزان مشخص Private Memory اختصاص می یابد بنابراین هر چه تعداد Applicartion Pool ها کمتر باشد رم مصرفی سرور کمتر و کیفیت و سرعت اجرای وبسایت ها کاهش خواهد یافت.

 

Application Pool اختصاصی چیست؟

یک Application Pool زمانی اختصاصی خوانده می شود که فقط مختص یک وبسایت باشد و دیگر وبسایت ها در آن تاثیری نداشته باشند.
Application Pool اختصاصی
در این روش نه تنها سطح امنیتی وبسایت افزایش می یابد بلکه از تکرار مشکلاتی چون Crash کردن Application Pool در اثر فعالیت دیگر وبسایت ها جلوگیری شده و Application Pool با پایداری بسیار بیشتری فعالیت می کند.
w3wp در سرور ویندوز شاید گاها در حین بارگذاری وبسایت با خطای The service is unavailble مواجه شده باشید. از مهمترین دلایل شایع این خطا توقف Application Pool به دلیل Crash کردن آن می باشد که با Application Pool وقوع این خطا به شدت کاهش می یابد.

در انتها یک بار دیگر به اختصار به مزیت ها و معایب Application Pool اختصاصی می پردازیم:

 

مزایای Application Pool اختصاصی

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

 

معایب Application Pool اختصاصی

پیاده سازی Application Pool اختصاصی به دلیل نیاز به رم بالا، هزینه های زیادی برای سرویس دهنده ایجاد می کند. بنابراین معمولا در سرویس های اشتراکی اجرا نمی شود. این درحالیست که تیم فنی های ساپورت با تامین منابع مورد نیاز و تقبل هزینه های آن، توانسته سرویسی با کیفیت را بهمراه دیگر امکانات برای شما کاربر ارجمند به ارمغان آورد.

درباره نویسنده
سجاد ابراهیمی
سجاد سالهاست که در حوزه وب هاستینگ و مدیریت سرور فعالیت می کند، او عاشق طبیعت، کوه نوردی و طراحی گرافیک هست و سعی می کند به عنوان هماهنگ کننده در های‌ساپورت بهترین ها را برای کاربران فراهم کند.
2 دیدگاه برای “آنچه که باید در مورد IIS Aplication Pool بدانید
  1. فرزاد - 10 مهر, 1396 at 9:27 ق.ظ

    بسیار عالی و مفید بود

    پاسخ

دیدگاه خود را ارسال کنید