Sql-Server

超執行緒與 SQL Server 和 PostgreSQL

  • January 7, 2011

我已經讀過超執行緒是數據庫的“性能殺手”。但是,我讀到的並沒有說明哪些CPU。此外,它主要表明 I/O 被“降低到 < 10% 的性能”。

這在邏輯上沒有意義,因為 I/O 主要是控制器和磁碟的功能,而不是 CPU。但是沒有人說過錯誤是有道理的。

我讀到的內容還指出,SQL Server可以將兩個並行查詢操作放在 1 個邏輯核心(2 個執行緒)上,從而降低性能。我很難相信 SQL Server 的架構師會做出如此明顯的誤判。

有沒有人有關於目前一代 CPU 上的超執行緒如何影響我提到的任何一個 RDBMS 的數據?

我讀到的內容還指出,SQL Server 可以將兩個並行查詢操作放在 1 個邏輯核心(2 個執行緒)上,從而降低性能。我很難相信 SQL Server 的架構師會做出如此明顯的誤判。

這不是 SQL Server 問題。超執行緒虛擬核心看起來與作業系統的真實核心完全相同 - 哎呀,甚至是 bios。您可以將程序固定到處理器,但調度程序根本不知道處理器的哪些核心是真實的,哪些是超執行緒……特別是因為兩者在技術上都是真實的,只是共享某些資源。超執行緒是由英特爾開發的,通過在兩個核心之間共享某些資產來實現“比真正的更便宜的雙核處理器”,但代價是程序根本不知道這一點。

較新的 Intel CPU 在硬體方面更好,因此 Hypewr-Threading 不再被認為是目前 SQL Server 的瓶頸——在目前的 Intel 晶片上執行。這是因為英特爾主要使超執行緒變得更好。

http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv-R2.mspx是目前的 2008 R2 調整指南。

http://ozamora.com/2010/09/sql-server-2008-r2-and-nehalem-processors/有一些關於 Nehalem 和 SQL Server 的東西。

引用自:https://serverfault.com/questions/219791