我有MVC 5 ASP.NET应用程序,它是在构建的服务器上预编译的。部署包中没有可编译的元素。当部署在IIS 7/7.5上时,这个web应用程序将在5秒内在内存小的慢速服务器上启动。在第一次运行时没有内存峰值,网页快速响应。
但是,部署在内存更大的较新服务器上的应用程序和在第一次启动时部署在IIS8.5上的应用程序的行为就像没有编译一样。在第一次访问所有空闲内存时,我会看到内存峰值很高,而且在很少的情况下,我也会体验OutOfMemoryException。
看起来,IIS8.5完全忽略了应用程序已经编译并再次执行的事实。有没有人知道有可能解决这个问题,或者我必须停止使用新的服务器,回到旧的服务器。
经过几次测试后,更新1--我认为这与x64位结构有关。如果我在IIS8.5上设置了AppPool。要以32位的形式运行,一切都要比IIS 7计算机上的速度快。我理解为什么IIS进程占用32位内存的两倍。但是不明白为什么编译要长7(7)倍,而编译内存要大10倍。
发布于 2014-10-22 23:11:29
根据杰里米-库克的建议
抄袭我的答案:
经过很少的测试后,我认为这与x64位架构有关。如果我在IIS8.5上设置了AppPool。要以32位的形式运行,一切都要比IIS 7计算机上的速度快。
https://serverfault.com/questions/569708
复制