IIS 8.5 中的应用程序池通常比 IIS 7.5 中的更大吗?

IIS 8.5 中的应用程序池通常比 IIS 7.5 中的更大吗?

我们最近将我们的网站从 IIS 7.5 移至 IIS 8.5。

  • 我们没有更改网站的任何代码
  • 应用程序池的配置相同
  • 我们在此服务器上运行约 70 个站点
  • 旧服务器有 6 GB 内存,双 2.4 GHz 处理器
  • 新服务器有 12 GB 的 RAM 和 3 核 2.4 GHz 处理器
  • 新旧服务器均为:
    1. 虚拟机
    2. 使用应用程序结构实现会话状态
    3. 64 位
    4. 安装相同版本的.NET(4.5.2)

在我们的旧服务器上,我们从未遇到过内存问题。

新服务器的初始内存为 6GB,但出现了内存不足的情况。我们不断增加内存,直到服务器变得更加稳定。

在我们的旧服务器上,我们通常会看到 70-75% 的 RAM 利用率。

在新服务器上,我们通常会看到 98-99% 的 RAM 利用率,无论服务器上的 RAM 有多少。

应用程序池通常使用的内存量是我们以前的服务器的 2-3 倍。

例如,我们有一个应用程序池,它在旧服务器上始终以 350-400 MB 的内存运行。在新服务器上,同一个池以 800 MB - 1.2 GB 的内存运行。

我们搜索了 google、serverfault 和 stackoverflow,查看是否有其他人遇到过类似的情况,但无济于事,如能得到帮助将不胜感激。

答案1

在从 Server 2008 R2 和 IIS 7.5 过渡到 Server 2012 R2 和 IIS 8.5 时,我们遇到了同样的问题。结果发现,在我们的情况下,是 .NET Framework 配置中新配置的设置缺失。需要将性能方案设置为 HighDensityWebHosting (http://www.asp.net/aspnet/overview/aspnet-and-visual-studio-2012/whats-new#_Toc_perf_5

我们已经设置了它,但由于匆忙之中不小心将其设置为 32 位框架 (Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config),而不是 64 位设置 (Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet.config)。哎呀。

在获得正确的设置后,我们实际上看到应用程序池在 IIS 8.5 上比 7.5 上占用的 RAM 减少了约 1/3

相关内容