IIS最佳实践是什么?每个应用程序使用一个应用程序池,还是共享一个应用程序池?

17

在IIS 7中,最佳实践是什么?我应该为每个应用程序创建一个应用程序池,还是应该尽可能共享一个应用程序池?

这两个选项中是否存在性能缺陷或安全问题?


3个回答

20
每个应用程序池都是一个 W3wp.exe 实例,为该网站或一组网站的工作进程。通过将每个应用程序放在单独的应用程序池中,您可以确保可能会导致应用程序池内部问题的问题不会影响其他应用程序。当然,在资源方面,这样运作显然会带来额外开销。
因此,对于简单的站点和博客,我通常将它们放在共享的应用程序池中。对于更复杂或重要的应用程序,我则将其分离到单独的应用程序池中。这只是我运作方式的指南。
我相信 IIS7 现在在创建网站时会创建单独的应用程序池(但不能百分之百确定)。

一个链接,展示了一对一和一对多的结果数据。http://www.christiaanverwijs.nl/post/2013/08/28/IIS-75-Avoid-performance-issues-when-creating-isolated-application-pools-for-applications4.aspx - Atters
我不理解最后一段。您是在说当您设置一个新的网站时,IIS会默认创建一个单独的应用程序池(但用户稍后可以重新配置此关联);还是说(可能与IIS管理工具报告的相反),它总是在内部将网站放入单独的应用程序池中? - stakx - no longer contributing

6

理论上,将每个站点放在其自己的池中更好。但是实际上,这需要比将站点放在单个池中使用更多的RAM。因此,在大多数服务器上,即使有1000个站点,您也只会看到10-100个池。


-4

共享应用程序池比为每个应用程序创建一个应用程序池更好,适用于固定数量的应用程序。

您可以在IIS 7服务器上运行尽可能多的应用程序池,但这会影响服务器性能。另一方面,应用程序池允许一组Web应用程序共享一个或多个类似配置的工作进程,但您不应将一个应用程序池共享给很多应用程序。因为这也会影响您的服务器性能!

因此,在两种方式中,您都必须谨慎处理。


1
本文详细解释了为什么您提出的建议是错误的... https://blogs.msdn.microsoft.com/carmelop/2013/03/22/how-many-web-applications-per-application-pool/ - Pravin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接