2011-05-10 117 views
2

我们目前在32位计算机上的IIS6上运行Web应用程序。 此应用程序运行平稳稳定。它是以目标“任何CPU”构建的。将.Net 4.0 Web应用程序从32位IIS6迁移到64位IIS7

现在我们将这个确切的应用程序复制到64位IIS7机器上。根据IIS7格式,我们只更改了web.config。 在应用程序池中,我们已将“启用32位应用程序”设置为true。

当我们在这台新服务器上加载一些负载时,应用程序的行为与旧环境完全不同。 我们看到高CPU和高内存使用情况。内存(私有字节)上升,但在加载结束时似乎不会被回收。

这不是我们所期望的。

有没有人遇到过这种相同的行为? 我们预计在服务器或应用程序配置中会出现一些错误。任何建议什么设置来检查?

回答

1

IIS 7为应用程序池引入了“集成”的新管道模式。在此模式下运行应用程序可以更改应用程序行为。如果您使用此模式,请将其更改为“classic”并重试。

+0

感谢您的回答。我非常了解这个设置,但是我从来没有想过尝试其他模式。我们会对此进行测试,并会在几天后通知您。 – Jacco 2011-05-13 20:01:05

+0

将模式更改为“经典”花了一些额外的工作。我们再次安装Helicon ISAPI筛选器,将无扩展名的URL映射到.Net。我们禁用了.Net 4的无延伸url映射。似乎UrlRewritingNet模块设置了太多的锁。现在我们的问题解决了。在不久的将来,我们可能会检修我们的URL重写并开始使用可用的.Net重写功能。 – Jacco 2011-05-20 13:24:32