CPU 時鐘速度與 CPU 核心數 - 更高的 GHz,還是 SQL Server 的更多核心?
我們開始為 VMware 中的 SQL Server 2016 節點虛擬集群配置一組物理伺服器。我們將使用企業版許可證。
我們計劃設置 6 個節點,但對於在 CPU 時鐘速度與 CPU 核心數方面配置物理伺服器的理想方式存在一些爭議。
我知道這在很大程度上取決於事務量和儲存的數據庫數量以及其他特定於軟體的因素,但是是否有建議的一般經驗法則?
例如,雙 8 核 3.2 GHz 物理伺服器(16 核)是否比雙 16 核 2.6 GHz 伺服器(32 核)更優惠?
有沒有人遇到過進一步深入研究此類主題的白皮書?
一般的經驗法則是保持核心數量盡可能低,處理器速度盡可能高。其許可數學證明了企業版每個核心約 7,500 美元。
購買正確的硬體可以降低許可成本,從而收回成本。請參閱Glenn Berry的 SQL Server 處理器選擇。這是關於如何為 SQL Server 選擇處理器的絕佳資源。
一旦考慮到 SQL Server 的每核許可結構,無論工作負載類型如何,無論是 OLTP 還是分析,始終採用可用的最快處理器速度是有意義的。擁有盡可能快的核心速度永遠不會成為問題。根據需要增加核心數量,但永遠不要通過降低核心速度來做到這一點。
換句話說,不要認為 16 x 2.2Ghz 處理器與 8 x 4.5Ghz 處理器相同。與 4.5Ghz 處理器相比,使用 2.2Ghz 處理器節省的成本可能最多約為 $ 10,000 USD (for a typical Xeon-based two processor machine). Jumping from 8 cores to 16 cores with SQL Server Enterprise Edition is likely to cost over $ 60,000 美元的許可費。換句話說,您可以節省 $ 10,000 in hardware costs, but you’ll lose an extra $ 50,000 的許可。
如果您決定需要大量並行處理能力,並決定手頭的任務需要 32 個核心,那麼使用最快的核心將在減少處理時間方面帶來好處。沒有人會因此而責怪你。
說了這麼多,如果選擇一個 CPU 或多個 CPU,總是選擇多個。在單個 CPU 上執行 SQL Server(或任何 DBMS)可能會導致各種問題,因為並發操作的能力非常有限。