对于 ASP.Net 应用程序,Windows 64 位相对于 32 位的主要优势是什么?

Dun*_*can 8 iis windows-server-2008 asp.net 32bit-64bit

除了 64 位内存分配的优势(> 4 GB -请参阅 StackOverflow 上的这个问题,了解为什么 32 位 +4 GB 解决方案对我不起作用),我还有什么其他理由建议我们应该托管 ASP 64 位 Windows Server 2008 上的 .NET 网站,而不是 32 位版本?

如果只是更大的可寻址内存 (>4 GB) 问题,无论如何我们都有一个负载平衡的解决方案,因此我们可以通过添加一个新的(虚拟)框来扩展。

CPU 也不会运行得很热,因此任何边际速度提升都是不合理的。

我自己的直觉是,如果可以的话,我们应该在 64 位上托管,纯粹是因为它更容易扩展(通过在需要时插入更多 RAM)。 但就是这样吗?!

欢迎所有评论和想法!

Sam*_*gan 15

我认为您应该真正问的问题是为什么不使用x64?如果您的硬件受支持并且您的应用程序可以运行,那么坚持使用 32 位的原因是什么?几乎没有成本差异,而且所有未来软件都将采用这种方式,例如 Exchange 2007 只有 64 位,我相信许多新软件都将采用这种方式。

如果您无法提出坚持使用 32 位的令人信服的理由,那么我会选择 64。


knw*_*iss 12

  • x86_64 cpu在它们的页表中确实有不执行位。即这可以防止由缓冲区溢出引起的安全漏洞。32 位 x86 cpu 仅在 PAE 模式下支持此功能。
  • 您只能使用签名的 Windows 驱动程序。恕我直言,这是一个优势,因为您不能用损坏的、未经测试的驱动程序破坏您的系统。请记住,大多数 Windows 问题都是由损坏的驱动程序引起的。

老实说:在我看来,64 位应该是多年来的默认设置!我无法相信 Windows 社区需要多长时间才能进行转换。我不明白微软为什么要发布 32 位 Vista(现在甚至是 Windows 7)。甚至 Apple 也决定从 PowerPC 切换到 32 位 x86,尽管当时大多数 CPU 已经能够支持 64 位。这对我来说毫无意义。如果一切都是 64 位并且只有 64 位,一切都会容易得多。


Rus*_*ren 2

我认为两者之间没有显着的成本差异,那么为什么不直接使用 Windows Server 2008 64 位部署新服务器呢?能够利用其更大的内存容量是使用它的最佳(也是我所知道的)理由。如今内存如此便宜,4 GB 对于新服务器来说似乎太小了!