Asp.net

Web 伺服器上的更多與更快的核心

  • October 24, 2012

Dual 與 Quadcore 的討論與 Quadcores 本身一樣古老,答案通常是“這取決於您的情況”。所以這裡的場景是一個 Web 伺服器(Windows 2003(不確定是 x32 還是 x64),4 GB RAM,IIS,ASP.net 3.0)。

我的印像是,Web 伺服器中的 CPU 不需要那麼快,因為請求通常是相當輕量級的,因此擁有更多(較慢)核心應該是更好的選擇,因為我們有很多小請求。

但是由於我在IIS負載平衡方面沒有太多經驗,並且由於我不想花很多錢才發現我做出了錯誤的選擇,所以有更多經驗的人可以評論一下是否更慢或更少更快的核心更好?

對於像網路伺服器這樣的東西,劃分處理每個連接的任務是(相對)容易的。我可以肯定地說,Web 伺服器是並行程式碼最常見的(並且已經解決的)用途之一。而且由於您能夠將大部分處理拆分為多個離散執行緒,因此更多的核心確實對您有利。這是共享主機成為可能的重要原因之一。如果像 IIS 和 Apache 這樣的伺服器軟體不能並行執行請求,這意味著每個頁面請求都必須以隊列方式發出……可能會使載入時間變得難以忍受。

這也是為什麼像 Windows 2008 Server Enterprise 這樣的高端伺服器作業系統支持 64 核和 2TB 記憶體的原因。這些應用程序實際上可以利用這麼多核心。

此外,由於每個請求都可能具有較低的 CPU 負載,因此您可能(對於某些應用程序)可以使用更慢的核心。但顯然,讓每個核心更快意味著能夠更快地完成每項任務,並且理論上可以處理更多任務和更多伺服器請求。

引用自:https://stackoverflow.com/questions/3801