在自己的AppPool中运行每个网站有哪些优点和/或缺点?

时间:2009-09-02 13:00:39

标签: asp.net iis

我们有几个网站存在一些内存问题,而且经常崩溃,并且很多其他网站都被淘汰了。所以我打算至少把麻烦的网站放在他们自己的AppPools中。我只是想确保这是一个安全的举动,或者我应该知道有关分离AppPools的任何事情。

3 个答案:

答案 0 :(得分:4)

每个应用程序池都有一个内存开销(如果有内存服务,则需要几兆字节),所以如果问题是缺少整体内存,这可能无济于事。

话虽如此,我们默认在自己的应用程序池中运行我们所有的网站,但我们往往在一台服务器上最多只有一个人,所以我没有同时拥有大量应用程序池的经验。

我们还发现,能够回收单个应用程序池而不影响其他站点的优势是一个很大的优势。

最后,除了隔离(如Guffa所提到的),您可以调整每个应用程序池的设置以限制内存使用等,以及身份和权限。 (我们倾向于使用不同的帐户运行不同的网站,例如,他们只拥有自己数据库的权限)

关于服务器故障,还有一些问题: https://serverfault.com/questions/2106/why-add-additional-application-pools-in-iis

答案 1 :(得分:3)

优势:

  • 每个应用程序池/网站单独的凭据
  • 更好的隔离,回收等
  • 单独配置(超时,内存等)

缺点:

  • 内存使用量增加(这些天不是64位问题)

一般来说,没有缺点。如果您在一台Web服务器上有大量多个站点,那么是否有单独的应用程序池是一个小问题。

答案 2 :(得分:2)

优点是您可以在自己的流程中隔离网站。

缺点是您可以在服务器上运行更多进程。

所以,如果你只针对几个网站这样做,那就应该没问题了。