آنچه که باید در مورد IIS Aplication Pool بدانید
Application Pool چیست؟
Application Pool (به فارسی: اپلیکیشن پول) مجموعه ای از پردازه های یک یا چند وبسایت است که در قالب یک پردازه یکتا به نام w3wp.exe با یک هویت در حال اجراست. کافیست Task Manager ویندوز سرور را باز کنید و از بخش Processes انبوهی از پردازه های مشابه با این نام را مشاهده کنید.
Application Pool یک فرایند کپسوله شده میان برنامه های وب ایجاد می کند که با کمک آن تمامی پردازه ها بدون ارتباط با یک دیگر اجرا می شوند بدون آنکه تداخلی در آن ها ایجاد شود. با استفاده از این تکنولوژی این قابلیت ایجاد می شود که شما چند وبسایت را تنها در قالب یک Application Pool اجرا کنید اما در عین حال نمی تواند یک وبسایت را در قالب چندین Application Pool اجرا کنید. این یک ویژگی مهم اما نه همیشه مفید است!
Private Memory در Application Pool چه کاربردی دارد؟
Private Memory یا حافظه خصوصی، حداکثر مقدار حافظه بر اساس کیلوبایت (KB) است که هندلر Worker می تواند در Application Pool به هر پردازه اختصاص دهد.
Worker یک هندلر یا نیروی کمکی برای وب سرور است که تلاش می کند پردازه ها به شیوه بهتری اجرا شوند. به گونه ای که در آن واحد پردازه های بیشتری در زمان کمتری اجرا و به نتیجه برسند.
Private Memory وبسایت ها را در استفاده از رم محدود می کند. بنابراین چنانچه همه وبسایت ها در قالب یک Application Pool اجرا شوند محدودیت بیشتری برای هر وبسایت ایجاد خواهد شد.
بنابراین اگر هر وبسایت Application Pool مجزا داشته باشد، رم در اختیار آن به مراتب بیشتر و کیفیت و عملکرد آن بسیار بالاتر است.
Application Pool اشتراکی چیست؟
کپسوله سازی خود عاملی بر ماهیت اشتراکی یک Application Pool است، اما یک Application Pool زمانی اشتراکی خوانده می شود که برای چند وبسایت مورد استفاده قرار میگیرد.
در بسیاری از سرویس های هاست اشتراکی ویندوز، سرویس دهنده از Application Pool اشتراکی استفاده می کنند. اما چرا؟ دلیل روشن است! صرفه جویی در مصرف رم.
همانطور که پیشتر گفته شد به ازای هر Application Pool یک میزان مشخص Private Memory اختصاص می یابد بنابراین هر چه تعداد Applicartion Pool ها کمتر باشد رم مصرفی سرور کمتر و کیفیت و سرعت اجرای وبسایت ها کاهش خواهد یافت.
Application Pool اختصاصی چیست؟
یک Application Pool زمانی اختصاصی خوانده می شود که فقط مختص یک وبسایت باشد و دیگر وبسایت ها در آن تاثیری نداشته باشند.
در این روش نه تنها سطح امنیتی وبسایت افزایش می یابد بلکه از تکرار مشکلاتی چون Crash کردن Application Pool در اثر فعالیت دیگر وبسایت ها جلوگیری شده و Application Pool با پایداری بسیار بیشتری فعالیت می کند.
شاید گاها در حین بارگذاری وبسایت با خطای 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 اختصاصی به دلیل نیاز به رم بالا، هزینه های زیادی برای سرویس دهنده ایجاد می کند. بنابراین معمولا در سرویس های اشتراکی اجرا نمی شود. این درحالیست که تیم فنی های ساپورت با تامین منابع مورد نیاز و تقبل هزینه های آن، توانسته سرویسی با کیفیت را بهمراه دیگر امکانات برای شما کاربر ارجمند به ارمغان آورد.
بسیار عالی و مفید بود
خیلی خوشحالم که مورد توجهتون قرار گرفته