Application Pool در شرپوینت

Application Pool برای اولین بار در ویندوز سرور ۲۰۰۳ معرفی شده و جهت ایزوله کردن برنامه‌های ASP.Net بکار برده می‌شه. به این صورت میشود برای هر pool یک اکانت ویندوزی مجزا تعریف کرد و می توان برای هر سایت نیز یک pool مجزا تعریف نمود که در اینصورت هرکدام از آنها در worker process مربوط به خودش فعال خواهد بود. در این حالت دیگر خطاهای بوجود آمده در هر pool هیچ تاثیری در سایر برنامه های در حال اجرا که از pool های مجزا استفاده می کنند ، ندارد.
مزیت دیگر استفاده از pool مجزا برای هر برنامه این است که امکان اعمال تنظیمات خاص بر روی آن Application Pool را برای ما فراهم نموده و باعث بیشترین بازده در نرم افزار می شود.

با ایجاد Application Pool در IIS این امکان به کاربر داده می شود تا از CPU سرور استفاده بهینه ای داشته باشد و به اجرای برنامه های هر وب سایت سرعت بیشتری اختصاص دهد.

و اما از لحاظ حرفه ای کدام بهتر است؟! ببینید مطمئنا ساخت یک pool جدید بهتره ولی این رو هم باید در نظر بگیرید که اگر تعداد Application Pool ها از یک حدی بالاتر برود بر روی کارایی سرور شما نیز تاثیر خواهد گذاشت!

http://www.windowsnetworking.com/articles_tutorials/Working-Application-Pools-Internet-Information-Server.html

 

برای ساخت Web Application در شرپوینت شما نیاز به ساخت یک Application Pool جدید دارید و یا اینکه می توانید از یک Application Pool که قبلا ساخته شده استفاده کنید و اینکه هر Application Pool باید با یک اکانت مشخص شده فعالیت نماید که این اکانت می تواند یکی از سه نوع اکانت زیر باشد :

  1. Local System
  2. Network Service
  3. Configurable

 

در ویرایش های قبلی IIS هر پروسه کاری (Worker Process) با اکانت LocalSystem اجرا می شد. LocalSystem یک اکانت قوی با قابلیت های Administrator بر روی سرور می باشد. بنابراین چون LocalSystem به اغلب منابع دسترسی دارد، این عمل باعث وجود یک حفره امنیتی در سیستم می شد لذا این مشکل در IIS 6.0 به اینصورت برطرف شده که می توان دسترسی پروسه های کاری در سطح application pool را با اختصاص یک اکانت خاص به آن تغییر داد.

بصورت پیش فرض اکانت NetworkService برای ساخت Application Pool انتخاب می شود که دارای حداقل دسترسی است. لذا با استفاده از این اکانت مشکلات امنیتی در برنامه های وب کاهش می یابد. اگر نیاز به یک سری دسترسی های خاص باشد می توان از یک کاربر دیگر استفاده نمود.

و اما چه زمانی باید از Configurable استفاده کنیم ؟؟؟
با توجه به ساختار شبکه و نحوه پیاده سازی SharePoint Farm ممکن است شما بخواهید دسترسی های خاصی را برای Web Application خود و یا Application Pool ساخته شده فراهم کنید، بعنوان مثال زمانی نیاز دارید که یکی از Application Pool ساخته شده امکان دسترسی به یک دیتابیس خاص از یک سرور SQL Server را داشته باشد، در این حالت شما با حتما از حالت سوم و یک کاربر خاص که مجوز دسترسی به سرور و دیتابیس گفته شده را داشته باشد، استفاده نمایید.

(Farm به محیطی اطلاق می شود که سرورهای مختلف در شبکه در کنارهم امکان استفاده از سرویس های مختلف SharePoint را فراهم نموده اند)

 

توضیحات بیشتر در مورد IIS Application Pool اینکه چیست و چطور کار می کند :
http://technet.microsoft.com/en-us/library/cc735247.aspx

نحوه عملکرد Application Pools  در IIS 6.0 :
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/67e39bd8-317e-4cf6-b675-6431d4425248.mspx?mfr=true

این هم توضیح در مورد نحوه عملکرد  Isolation Mode در ویرایش های مختلف IIS :

http://technet.microsoft.com/en-us/library/cc759420.aspx

پاسخ دهید