【发布时间】:2011-11-25 01:39:17
【问题描述】:
在 IIS 7 中,最佳实践是什么?我应该为每个应用程序创建一个应用程序池,还是应该与尽可能多的应用程序共享一个应用程序池?
是否存在与任一选项相关的性能缺陷或安全问题?
【问题讨论】:
在 IIS 7 中,最佳实践是什么?我应该为每个应用程序创建一个应用程序池,还是应该与尽可能多的应用程序共享一个应用程序池?
是否存在与任一选项相关的性能缺陷或安全问题?
【问题讨论】:
每个应用程序池都是 W3wp.exe 的一个实例,它是该站点或站点集的工作进程。通过将每个应用程序放置在单独的应用程序池中,您可以确保在应用程序池中可能导致问题的问题不会导致其他应用程序出现问题。就资源而言,这样操作显然会产生开销。
一般来说,对于简单的网站和博客,我通常将它们放在共享应用程序池中。对于更密集或更重要的应用程序,我将其分成单独的应用程序池。这只是我如何操作的指南。
我相信 IIS7 现在会在您创建网站时创建单独的应用程序池(虽然不是 100%)。
【讨论】:
理论上最好将每个站点放到自己的池中。在实践中,它比将站点放置到单个池中需要更多的 RAM。因此,在大多数服务器上,您只会看到 10-100 个池,即使有 1000 个站点。
【讨论】:
共享应用程序池优于为固定数量的应用程序为每个应用程序创建一个应用程序池
您可以根据需要在 IIS 7 服务器上运行任意数量的应用程序池,但这会影响服务器性能。另一方面,应用程序池允许一组 Web 应用程序共享一个或多个类似配置的工作进程,但您不应该将一个应用程序池共享给很多应用程序。因为这也会影响您的服务器性能!
所以在这两种方式中你都必须委婉。
【讨论】: