【问题标题】:Migrate .Net 4.0 web application from 32bit IIS6 to 64bit IIS7将 .Net 4.0 Web 应用程序从 32 位 IIS6 迁移到 64 位 IIS7
【发布时间】:2011-08-22 11:49:39
【问题描述】:

我们目前有一个在 32 位机器上运行在 IIS6 上的 Web 应用程序。 此应用程序运行流畅稳定。它是使用目标“任何 CPU”构建的。

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

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

这不是我们所期望的。

有没有人遇到过同样的行为? 我们预计这是服务器或应用程序配置中的一些错误。有什么建议要检查哪些设置?

【问题讨论】:

    标签: asp.net iis-7 64-bit memory-management cpu-usage


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答。我非常了解这种设置,但我从未想过尝试其他模式。我们将对此进行测试,并在几天后通知您。
    • 将模式更改为“经典”需要一些额外的工作。我们再次安装了 Helicon ISAPI 过滤器,将无扩展名的 url 映射到 .Net。我们禁用了 .Net 4 的无扩展 url 映射。似乎 UrlRewritingNet 模块设置了太多锁。现在我们的问题已经解决了。在不久的将来,我们可能会彻底检查我们的 url 重写并开始使用可用的 .Net 重写功能。
    猜你喜欢
    • 2017-12-11
    • 2018-02-17
    • 1970-01-01
    • 2015-04-14
    • 2014-08-13
    • 2010-12-18
    • 2013-09-29
    • 2011-04-03
    • 2014-03-26
    相关资源
    最近更新 更多