Compute Capacity Limits by Edition of SQL Server
In diesem Thema werden Computekapazitätsgrenzwerte für verschiedene Editionen von SQL Server 2014 und deren Unterschiede in physischen und virtualisierten Umgebungen mit Hyperthreadprozessoren erläutert.
In der folgenden Tabelle werden die Schreibweisen, die im oben angegebenen Diagramm verwendet werden, beschrieben:
Wert | BESCHREIBUNG |
---|---|
0..1 | Null oder Eins |
1 | Genau eins |
1..* | Ein oder mehr |
0..* | 0 oder mehr |
1..2 | Eine oder zwei |
Wichtig
Weitere Details:
Einem virtuellen Computer werden ein oder mehrere virtuelle Prozessoren zugeordnet.
Ein oder mehrere virtuelle Prozessoren werden genau einem virtuellem Computer zugeordnet.
0 (null) oder ein virtueller Prozessor wird null oder mehreren logischen Prozessoren zugeordnet. Die Zuordnung virtueller Prozessor zu logischer Prozessor kann wie folgt sein:
- 1:0 stellt einen ungebundenen logischen, von den Gastbetriebssystemen nicht verwendeten Prozessor dar.
- 1:viele stellt einen Overcommit dar.
- 0:viele stellt die Abwesenheit des virtuellen Computers auf dem Hostsystem dar, deshalb werden keine logischen Prozessoren von den VMs verwendet.
Ein Socket wird null oder mehr Kernen zugeordnet. Die Zuordnung Socket zu Kern kann wie folgt sein:
- 1:0 stellt einen leeren Socket dar (kein Chip installiert).
- 1:1 stellt einen in den Socket installierten Einzelkern-Chip dar (heutzutage sehr selten).
- 1:viele stellt ein in den Socket installierten Mehrkern-Chip dar (typische Werte sind 2,4,8).
Ein Kern wird einem oder zwei logischen Prozessoren zugeordnet. Die Zuordnung Kern zu logischer Prozessor kann wie folgt sein:
- 1:1, Hyperthreading ist aus.
- 1:2, Hyperthreading ist an.
Die folgenden Definitionen gelten für die in diesem Thema verwendeten Begriffe:
Ein Thread oder logischer Prozessor ist eine logische Computer-Engine aus der Perspektive von SQL Server, dem Betriebssystem, einer Anwendung oder einem Treiber.
Ein Kern ist eine Prozessoreinheit, die aus einem oder mehreren logischen Prozessoren bestehen kann.
Ein physischer Prozessor kann aus einem oder mehreren Kernen bestehen. Ein physischer Prozessor ist das Gleiche wie ein Prozessorpaket oder ein Socket.
Systeme mit mehr als einem physischen Prozessor oder Systeme mit physischen Prozessoren, die mehrere Kerne und/oder Hyperthreads haben, ermöglichen dem Betriebssystem, mehrere Tasks gleichzeitig auszuführen. Jeder Thread der Ausführung wird als logischer Prozessor angezeigt. Wenn Sie z. B. einen Computer haben, der zwei Quad-Core-Prozessoren hat, mit aktiviertem Hyperthreading und zwei Threads pro Kern, haben Sie 16 logische Prozessoren: 2 Prozessoren x 4 Kerne pro Prozessor x 2 Threads pro Kern. Beachten Sie dabei Folgendes:
Die Rechenkapazität eines logischen Prozessors von einem einzelnen Thread eines Hyperthread-Kerns ist geringer als die Rechenkapazität eines logischen Prozessors von diesem gleichen Kern mit deaktiviertem Hyperthreading.
Doch die Rechenkapazität der 2 logischen Prozessoren im Hyperthread-Kern ist größer als die Rechenkapazität des gleichen Kerns mit deaktiviertem Hyperthreading.
Jede Edition von SQL Server hat zwei Rechenkapazitätsgrenzen:
Die maximale Anzahl von Sockets (identisch mit physischem Prozessor oder Socket oder Prozessorpaket).
Die maximale Anzahl von Kernen, wie vom Betriebssystem gemeldet.
Diese Begrenzungen gelten für eine einzelne Instanz von SQL Server. Sie stellen die maximale Rechenkapazität dar, die eine einzelne Instanz verwendet. Sie schränken den Server nicht ein, auf dem die Instanz möglicherweise bereitgestellt wird. Mehrere Instanzen von SQL Server auf dem gleichen physischen Server bereitzustellen ist in der Tat eine effiziente Möglichkeit, die Rechenkapazität eines physischen Servers mit mehr Sockets und/oder Kernen als die unten angegebenen Kapazitätsgrenzen zu verwenden.
In der folgenden Tabelle sind die Grenzwerte für die Computekapazität für eine einzelne instance jeder Edition von SQL Server 2014 angegeben:
SQL Server-Edition | Maximale Computekapazität, die von einer einzelnen Instanz verwendet wird (SQL ServerDatabase-Engine) | Maximale von einer einzelnen Instanz verwendete Rechenkapazität (AS, RS) |
---|---|---|
Enterprise Edition: Kernbasierte Lizenzierung1 | Maximum des Betriebssystems | Maximum des Betriebssystems |
Entwickler | Maximum des Betriebssystems | Maximum des Betriebssystems |
Auswertung | Maximum des Betriebssystems | Maximum des Betriebssystems |
Business Intelligence | Beschränkt auf weniger als 4 Sockets oder 16 Kerne | Maximum des Betriebssystems |
Standard | Beschränkt auf weniger als 4 Sockets oder 16 Kerne | Beschränkt auf weniger als 4 Sockets oder 16 Kerne |
Web | Beschränkt auf weniger als 4 Sockets oder 16 Kerne | Beschränkt auf weniger als 4 Sockets oder 16 Kerne |
Express | Beschränkt auf weniger als 1 Socket oder 4 Kerne | Beschränkt auf weniger als 1 Socket oder 4 Kerne |
Express mit Tools | Beschränkt auf weniger als 1 Socket oder 4 Kerne | Beschränkt auf weniger als 1 Socket oder 4 Kerne |
Express mit Advanced Services | Beschränkt auf weniger als 1 Socket oder 4 Kerne | Beschränkt auf weniger als 1 Socket oder 4 Kerne |
1 Die Enterprise Edition mit einer Lizenzierung auf der Grundlage von Serverlizenz + Clientzugriffslizenz (CAL) (für neue Verträge nicht verfügbar) ist auf maximal 20 Kerne pro SQL Server-Instanz beschränkt. Für das auf Prozessorkernen basierende Serverlizenzierungsmodell gelten keine Beschränkungen.
In einer virtualisierten Umgebung basiert die Rechenkapazitätsgrenze auf der Anzahl der logischen Prozessoren und nicht der Kerne, da die Prozessorarchitektur für die Gastanwendungen nicht sichtbar ist. Ein Server mit vier Sockets beispielsweise, bestückt mit Quad-Core-Prozessoren und der Fähigkeit, zwei Hyperthreads pro Kern zu aktivieren, enthält mit aktiviertem Hyperthreading 32 logische Prozessoren, bei deaktiviertem Hyperthreading jedoch nur 16 logische Prozessoren. Diese logischen Prozessoren können virtuellen Computern auf dem Server zugeordnet werden, wobei die Computelast der virtuellen Computer auf diesem logischen Prozessor einem Ausführungsthread auf dem physischen Prozessor auf dem Hostserver zugeordnet ist.
Sie können das Hyperthreading deaktivieren, wenn die Leistung pro virtueller Prozessor wichtig ist. Sie können das Hyperthreading anhand einer BIOS-Einstellung für den Prozessor während des BIOS-Setups deaktivieren, aber es ist in der Regel ein Vorgang im Serverbereich, der sich auf alle Arbeitsauslastungen auswirkt, die auf dem Server ausgeführt werden. Dies weist darauf hin, Arbeitsauslastungen, die in virtualisierten Umgebungen ausgeführt werden, von denen zu trennen, die in einer physischen Betriebssystemumgebung von der Hyperthreading-Leistungssteigerung profitieren würden.
Weitere Informationen
Editionen und Komponenten von SQL Server 2014
Von den Editionen von SQL Server 2014 unterstützte Features
Spezifikationen der maximalen Kapazität für SQL Server
Schnellstart-Installation von SQL Server 2014