Asp.net-Mvc

首次訪問時 IIS 8.5 長時間編譯和高記憶體峰值

  • October 23, 2014

我有在內置伺服器上預編譯的 MVC 5 ASP.NET 應用程序。部署包中沒有可編譯的元素。當部署在 IIS 7/7.5 上時,此 Web 應用程序將在 5 秒內在記憶體較小的慢速伺服器上啟動。首次執行時沒有記憶體峰值,網頁快速響應。

然而,在第一次啟動時,在記憶體更大且 IIS 8.5 的較新伺服器上部署的相同應用程序的行為就像沒有編譯一樣。我在第一次訪問所有可用記憶體時看到了高記憶體峰值,並且在極少數情況下我遇到了 OutOfMemoryException。

看起來 IIS 8.5 完全忽略了應用程序已經編譯並再次執行的事實。有誰知道是否有可能解決這個問題,或者我必須停止使用新伺服器並回到舊伺服器。

更新 1 經過幾次測試,我認為這與 x64 位架構有關。如果我在 IIS 8.5 上設置 AppPool。以 32 位執行,一切都像在 IIS 7 電腦上一樣快。我理解為什麼 IIS 程序在 32 位上佔用兩倍的記憶體。但是不明白為什麼編譯要長7(七)倍,編譯記憶體要大10倍。

根據@jeremy-cook 的建議

複製我的答案:

經過幾次測試後,我認為這與 x64 位架構有關。如果我在 IIS 8.5 上設置 AppPool。以 32 位執行,一切都像在 IIS 7 電腦上一樣快。

引用自:https://serverfault.com/questions/569708