SQL Server 版本的計算容量限制
本主題討論不同 SQL Server 2012 版本的計算容量限制以及它們在具有超執行緒處理器的實體和虛擬化環境中有何差異。
下表描述上圖所使用的註解:
值 |
說明 |
---|---|
0..1 |
零個或一個 |
1 |
只有一個 |
1..* |
一個或多個 |
0..* |
零個或多個 |
1..2 |
一個或兩個 |
重要事項 |
---|
詳細說明:
|
下列定義適用於本主題中使用的詞彙:
從 SQL Server、作業系統、應用程式或驅動程式的觀點而言,執行緒或邏輯處理器都是單一邏輯運算引擎。
一個核心是指一個處理處理器單元,可能是由一個或多個邏輯處理器組成。
一個實體處理器可能是由一個或多個核心組成。 實體處理器與處理器封裝或插槽相同。
具有多個實體處理器的系統或是具有多核心及/或超執行緒之實體處理器的系統可讓作業系統同時執行多個工作。 每個執行的執行緒都會顯示成邏輯處理器。 例如,如果您有一部具備兩個啟用超執行緒之四核心處理器的電腦,而且每個核心都有兩個執行緒,則總共有 16 個邏輯處理器:2 個處理器 x 4 個核心 (每個處理器) x 2 個執行緒 (每個核心)。 請注意:
來自超執行緒核心之單一執行緒的邏輯處理器計算容量小於來自停用超執行緒之相同核心的邏輯處理器計算容量。
但是,超執行緒核心中 2 個邏輯處理器的計算容量大於停用超執行緒之相同核心的計算容量。
從 SQL Server 2012 開始,每個 SQL Server 版本都具有兩個計算容量限制:
插槽的數目上限 (與實體處理器、插槽或處理器封裝相同)。
作業系統所報告的核心數目上限。
這些限制適用於單一 SQL Server 執行個體。 它們代表單一執行個體將會使用的計算容量上限。 但是,它們不會限制可部署執行個體的伺服器。 實際上,在相同的實體伺服器上部署多個 SQL Server 執行個體可以有效地使用插槽及/或核心數目超過下列容量限制之實體伺服器的運算容量。
下表指定每個 SQL Server 2012 版本之單一執行個體的計算容量限制:
SQL Server 版本 |
單一執行個體所使用的計算容量上限 (SQL Server Database Engine) |
單一執行個體所使用的計算容量上限 (AS、RS) |
---|---|---|
Enterprise 版: 核心授權1 |
作業系統最大值 |
作業系統最大值 |
開發人員 |
作業系統最大值 |
作業系統最大值 |
Evaluation |
作業系統最大值 |
作業系統最大值 |
Business Intelligence |
限制為 4 個插槽或 16 個核心的較小者 |
作業系統最大值 |
Standard |
限制為 4 個插槽或 16 個核心的較小者 |
限制為 4 個插槽或 16 個核心的較小者 |
Web |
限制為 4 個插槽或 16 個核心的較小者 |
限制為 4 個插槽或 16 個核心的較小者 |
Express |
限制為 1 個插槽或 4 個核心的較小者 |
限制為 1 個插槽或 4 個核心的較小者 |
Express with Tools |
限制為 1 個插槽或 4 個核心的較小者 |
限制為 1 個插槽或 4 個核心的較小者 |
Express with Advanced Services |
限制為 1 個插槽或 4 個核心的較小者 |
限制為 1 個插槽或 4 個核心的較小者 |
1新合約不適用的 Enterprise Edition (含伺服器 + 用戶端存取授權 (CAL)) 授權限制為每個 SQL Server 執行個體最多 20 個核心。 核心伺服器授權模式之下沒有任何限制。
在虛擬化環境中,計算容量限制是以邏輯處理器 (而非核心) 的數目為基礎,因為客體應用程式看不見處理器架構。 例如,如果一部伺服器的四個插槽都插入四核心處理器,而且能夠針對每個核心啟用兩個超執行緒,則在啟用超執行緒的情況下,總共包含 32 個邏輯處理器,但是在停用超執行緒的情況下,只包含 16 個邏輯處理器。 這些邏輯處理器可對應至伺服器上的虛擬機器,而該邏輯處理器的虛擬機器計算負載則對應至主機伺服器中實體處理器上執行的執行緒。
當每個虛擬處理器的效能都很重要時,您可能會想要停用超執行緒。 雖然您可以在 BIOS 設定期間使用處理器的 BIOS 設定來啟用或停用超執行緒,不過這種伺服器範圍的作業通常會影響伺服器上執行的所有工作負載。 因此,建議您分隔在虛擬化環境中執行的工作負載以及實體作業系統環境中可從超執行緒效能提升獲益的工作負載。