除了64位内存分配的优点(> 4 GB – 请参阅StackOverflow上的这个问题 ,为什么32位+4 GB的解决scheme不适合我),还有什么其他的原因,我build议我们应该主办一个ASP .NET网站在64位Windows Server 2008上,而不是32位版本?
如果只有更大的可寻址内存(> 4 GB)的问题,我们还是有一个负载平衡的解决scheme,所以我们可以通过添加一个新的(虚拟)盒子来进行扩展。
CPU也不会跑得太热,所以任何边际速度的提升都是不合理的。
我自己的直觉是,如果可以的话,我们应该在64位主机上,纯粹是因为它更容易扩展(通过在需要时插入更多的RAM)。 但是呢?
所有意见和想法都欢迎!
我认为你应该真正问的问题是为什么不去x64? 如果你的硬件支持,你的应用程序工作,坚持32位的理由是什么? 几乎没有任何成本差异,以及未来所有软件将要运行的方式,例如Exchange 2007只有64位,我相信很多新的软件都会这样。
如果你不能拿出一个令人信服的理由坚持32位,那么我会去64。
说实话:在我看来,64位应该是多年来的默认! 我无法相信Windows社区需要多长时间才能完成切换。 我不明白为什么微软甚至不屑于发布一个32位的Vista(现在甚至是Windows 7)。 即使苹果公司决定从PowerPC切换到32位x86,尽pipe当时大多数cpus已经能够支持64位。 这对我来说毫无意义。 如果一切都是64位而只有64位的话,一切都会容易得多。
有很多“原因”,但首先是所有的微软产品都是64位的。 它有一定的“未来发展”的devise,给你的ASP.NET应用程序带来更多的失败空间(例如,来自OOM错误)。
这不是ASP.NET相关的,但我会添加为了完整性。 某些Microsoft Server产品(如Exchange Server 2007 )仅在64位Windows平台上运行。 我想你可以称这是一个好处。
我不认为两者之间有巨大的成本差异,为什么不直接部署新的服务器与Windows Server 2008 64位? 利用其更大内存容量的能力是最好的(也是我所知道的)使用它的理由。 现在内存如此便宜,4 GB对于新的服务器来说似乎很less!
在最近的这个在64位计算上的RunAs Radio播客中 ,这个问题大概有10个很好的答案。
有一件事是总线宽度加倍,因此可以更快地读/写数据。 性能提升对于32位家庭使用来说可能是轻微的,但对于服务器来说当然是值得的。
有一个类似于Y2K的模糊(但真正的)错误,影响大多数32位机器。 这是由于在一些Windows程序中使用的unix时代 ,在2038年有一个最大值的时间,在这一点上将围绕到1901年!
参见维基百科“ 2038年问题 ”
与此问题有关,因为它影响使用标准机器大小的variables来存储unix时期的32位机器。 这将通过升级到64位来解决。