【问题标题】:Running 32bit .NET application in 64bit OS slow在 64 位操作系统中运行 32 位 .NET 应用程序很慢
【发布时间】:2010-12-11 07:00:43
【问题描述】:

我的环境:asp.net 3.5 framework with xp

我有一个问题。我们使用 32 位开发我们的产品。当我们在 64 位机器(windows 2008 虚拟机)中部署时,与 32 位版本的 iis 相比,它似乎非常慢。 我们是否需要在 64 位机器中重新编译我们的程序集才能在 64 位环境中获得更快的响应?
或者是否需要在 64 位机器上进行任何配置? 如果 dll 以 32 位编译,是否只在 32 位 iis 中运行以获得更快的性能? 干杯 桑杰

【问题讨论】:

  • 可能。这个问题对我来说似乎很熟悉,但我不记得那是什么交易。我倾向于一个已知的 MS 错误,但我不确定。如果我能再次找到信息,我会回来发布它。

标签: .net iis .net-3.5 32bit-64bit


【解决方案1】:

虚拟机?因为在 64 位上运行 32 位时性能会急剧下降,这对于 .net 来说并不常见。

【讨论】:

    【解决方案2】:

    你确定你有足够的内存吗? 64 位 .NET 应用程序使用更多内存。

    您的应用程序是否以 64 位运行?你是为“Any CPU”编译的吗?

    一些应用程序在 64 位上运行速度较慢仅仅是因为它们“接触”更多内存(类的每个实例的开销更高 + 对对象的每个引用都是 64 位而不是 32 位) - 导致 CPU 必须获取数据从 RAM 到 CPU 缓存的频率更高。

    根据我的经验,64 位的数据处理/文本处理应用程序运行速度稍慢,但大量使用浮点的应用程序运行速度更快。但是,几乎在所有情况下,差异都小于 20% - 除非 64 位应用程序没有足够的内存导致操作系统开始将 RAM 分页到磁盘。

    【讨论】:

      【解决方案3】:

      配置应用程序池以启用 32 位应用程序可能会成功。

      相关阅读:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-17
        • 2010-11-07
        • 2020-01-07
        • 2012-09-01
        • 2011-07-07
        • 1970-01-01
        • 2012-07-26
        • 1970-01-01
        相关资源
        最近更新 更多