
除了 64 位元記憶體分配的優點(> 4 GB -在 StackOverflow 上查看這個問題為什麼 32 位元 +4 GB 解決方案對我不起作用),我還有什麼其他原因建議我們應該在 64 位元 Windows Server 2008(而不是 32 位元版本)上託管 ASP.NET 網站?
如果只是較大的可尋址記憶體(> 4 GB)問題,無論如何我們都有一個負載平衡的解決方案,因此我們可以透過添加新的(虛擬)盒子來擴展。
CPU 也不會運作得很熱,因此任何邊際速度提升都是不合理的。
我自己的直覺是,如果可以的話,我們應該在 64 位元上託管,純粹是因為它更容易擴展(透過在需要時插入更多 RAM)。 但就是這樣嗎?
歡迎所有意見和想法!
答案1
我認為你真正應該問的問題是為什麼不是去 x64 嗎?如果您的硬體受支援並且您的應用程式可以運行,那麼堅持使用 32 位元的理由是什麼?成本差異很小甚至沒有,這是所有未來軟體的發展方向,例如 Exchange 2007 僅支援 64 位,我確信許多新軟體都會採用這種方式。
如果你找不到一個令人信服的理由來堅持使用 32 位,那麼我會選擇 64 位。
答案2
- x86_64 cpu 確實有不執行位在他們的頁表中。即,這可以防止緩衝區溢位引起的安全漏洞。 32 位元 x86 cpu 僅在 PAE 模式下支援此功能。
- 你只能使用簽署的 Windows 驅動程式。恕我直言,這是一個優勢,因為您無法使用損壞的、未經測試的驅動程式來破壞您的系統。請記住,大多數 Windows 問題都是由損壞的驅動程式引起的。
老實說:我認為 64 位元應該是預設的年現在!我不敢相信 Windows 社群花了多長時間才做出轉變。我不明白為什麼微軟還要費心去發布 32 位元 Vista(現在甚至是 Windows 7)。甚至 Apple 也決定從 PowerPC 轉向 32 位元 x86,儘管當時大多數 cpu 已經支援 64 位元。這對我來說根本沒有意義。如果一切都是 64 位元並且只有 64 位元,一切都會變得容易得多。
答案3
「原因」有很多,但最重要的是 Microsoft 的所有產品都將轉向 x64。它的設計有點“面向未來”,並為您的 ASP.NET 應用程式提供了更多的失敗空間(例如,OOM 錯誤)。
答案4
我認為兩者之間沒有顯著的成本差異,那麼為什麼不直接使用 Windows Server 2008 64 位元部署新伺服器呢?能夠利用其更大的記憶體容量是使用它的最佳(也是我所知道的)理由。如今記憶體如此便宜,4 GB 對於新伺服器來說似乎太小了!