IIS 中的最佳实践是啥?每个应用程序一个应用程序池,还是一个共享应用程序池?

Posted

技术标签:

【中文标题】IIS 中的最佳实践是啥?每个应用程序一个应用程序池,还是一个共享应用程序池?【英文标题】:What is best practice in IIS? One application pool for each application, or a shared application pool?IIS 中的最佳实践是什么?每个应用程序一个应用程序池,还是一个共享应用程序池? 【发布时间】:2011-11-25 01:39:17 【问题描述】:

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

是否存在与任一选项相关的性能缺陷或安全问题?

【问题讨论】:

Pros and cons of having dedicated application pools over keeping web applications in one default app pool的可能重复 【参考方案1】:

每个应用程序池都是 W3wp.exe 的一个实例,它是该站点或站点集的工作进程。通过将每个应用程序放置在单独的应用程序池中,您可以确保在应用程序池中可能导致问题的问题不会导致其他应用程序出现问题。就资源而言,这样操作显然会产生开销。

一般来说,对于简单的网站和博客,我通常将它们放在共享应用程序池中。对于更密集或更重要的应用程序,我将其分成单独的应用程序池。这只是我如何操作的指南。

我相信 IIS7 现在会在您创建网站时创建单独的应用程序池(虽然不是 100%)。

【讨论】:

一些数据的链接显示一对一与一对多的结果christiaanverwijs.nl/post/2013/08/28/… 最后一段没看懂。你是说当你建立一个新的网站时,IIS默认创建一个单独的应用程序池(但是用户以后可能会重新配置这个关联);还是您是说(可能与 IIS 管理工具报告的内容相反)它总是将网站放在内部单独的应用程序池中?【参考方案2】:

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

【讨论】:

【参考方案3】:

共享应用程序池优于为固定数量的应用程序为每个应用程序创建一个应用程序池

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

所以在这两种方式中你都必须委婉。

【讨论】:

这篇文章详细解释,为什么你的建议是错误的...blogs.msdn.microsoft.com/carmelop/2013/03/22/…

以上是关于IIS 中的最佳实践是啥?每个应用程序一个应用程序池,还是一个共享应用程序池?的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中全局变量和函数的最佳实践是啥?

Laravel 数据库日志 - 最佳实践是啥

RxSwift:使用 DisposeBag 的最佳实践是啥?

使用视图模型中的属性值实现方法的最佳实践是啥?

在多个项目中使用相同模型的最佳实践是啥?

自我更新 PHP+MySQL 应用程序的最佳实践是啥?