Ressourcenpool für die Ressourcenkontrolle
In der SQL Server-Ressourcenkontrolle stellt ein Ressourcenpool eine Teilmenge der physischen Ressourcen einer Instanz von Database Engine (Datenbankmodul) dar. Jeder Ressourcenpool kann eine oder mehrere Arbeitsauslastungsgruppen enthalten. Wenn eine Sitzung gestartet wird, weist die Klassifizierungsfunktion der Ressourcenkontrolle die Sitzung einer bestimmten Arbeitsauslastungsgruppe zu, und die Sitzung muss mit den der Arbeitsauslastungsgruppe zugewiesenen Ressourcen ausgeführt werden.
Konzepte von Ressourcenpools
Ein Ressourcenpool (Pool) repräsentiert die physischen Ressourcen des Servers. Stellen Sie sich einen Pool als virtuelle SQL Server-Instanz innerhalb einer SQL Server-Instanz vor.
Ein Pool besteht aus zwei Teilen. Ein Teil überschneidet sich nicht mit anderen Pools, wodurch eine minimale Reservierung von Ressourcen ermöglicht wird. Der andere Teil wird gemeinsam mit anderen Pools verwendet, wodurch eine maximale Ressourcenauslastung ermöglicht wird. In dieser Version der Ressourcenkontrolle werden die Poolressourcen durch Angabe eines der folgenden Werte für jede Ressource festgelegt:
MIN, MAX oder CAP für CPU
MIN bzw. MAX für den Arbeitsspeicher
MIN und MAX repräsentieren die garantierte Mindestverfügbarkeit an Ressourcen für den Pool und die maximale Größe des Pools für die einzelnen Ressourcen.
Der CAP-Wert für CPU stellt ein hartes Maximum dar. Die verfügbare CPU-Kapazität über diesem Wert wird nicht verwendet.
Die Summe der MIN-Werte für alle Pools darf 100 Prozent der Serverressourcen nicht übersteigen. Die MAX- und CAP-Werte können zwischen MIN und 100 Prozent festgelegt werden.
Wenn bei einem Pool ein MIN-Wert definiert ist, der nicht NULL entspricht, wird der effektive MAX-Wert anderer Pools erneut angepasst. Das Minimum des konfigurierten MAX-Werts eines Pool sowie die Summe der MIN-Werte der anderen Pools wird von 100 Prozent subtrahiert.
In der folgenden Tabelle werden die obigen Konzepte veranschaulicht. Die Tabelle zeigt die Einstellungen für den internen Pool, den Standardpool und zwei benutzerdefinierte Pools. Die folgenden Formeln werden zum Berechnen der Prozentwerte für den effektiven MAX-Wert (MAX %) und den freigegebenen, d. h. gemeinsam verwendeten Teil (Shared %) herangezogen.
Min(X,Y) bedeutet den kleineren Wert von X und Y.
Sum(X) bedeutet die Summe der X-Werte in allen Pools.
Shared % insgesamt = 100 - sum(MIN %)
Effektiver MAX % = min(X,Y)
Shared % = effektiver MAX % - MIN %
Poolname |
Einstellung für MIN % |
Einstellung für MAX % |
Berechneter effektiver MAX % |
Berechneter Shared % |
Anmerkung |
---|---|---|---|---|---|
Interner Pool (internal) |
0 |
100 |
100 |
0 |
Effektiver MAX % und Shared % gelten nicht für den internen Pool. |
Standardpool (default) |
0 |
100 |
30 |
30 |
Der effektive MAX-Wert wird berechnet als: min(100,100-(20+50)) = 30. Der berechnete Shared % ist der effektive MAX - MIN = 30. |
Pool 1 |
20 |
100 |
50 |
30 |
Der effektive MAX-Wert wird berechnet als: min(100,100-50) = 50. Der berechnete Shared % ist der effektive MAX - MIN = 30. |
Pool 2 |
50 |
70 |
70 |
20 |
Der effektive MAX-Wert wird berechnet als: min(70,100-20) = 70. Der berechnete Shared % ist der effektive MAX - MIN = 20. |
Anhand der obigen Tabelle als Beispiel können wir zeigen, welche Anpassungen vorgenommen werden, wenn ein weiterer Pool erstellt wird. Dieser Pool ist Pool 3 mit einer MIN %-Einstellung von 5.
Poolname |
Einstellung für MIN % |
Einstellung für MAX % |
Berechneter effektiver MAX % |
Berechneter Shared % |
Anmerkung |
---|---|---|---|---|---|
Interner Pool (internal) |
0 |
100 |
100 |
0 |
Effektiver MAX % und Shared % gelten nicht für den internen Pool. |
Standardwert |
0 |
100 |
25 |
25 |
Der effektive MAX-Wert wird berechnet als: min(100,100-(20+50+5)) = 25. Der berechnete Shared % ist der effektive MAX - MIN = 25. |
Pool 1 |
20 |
100 |
45 |
25 |
Der effektive MAX-Wert wird berechnet als: min(100,100-55) = 45. Der berechnete Shared % ist der effektive MAX - MIN = 25. |
Pool 2 |
50 |
70 |
70 |
20 |
Der effektive MAX-Wert wird berechnet als: min(70,100-25) = 70. Der berechnete Shared % ist der effektive MAX - MIN = 20. |
Pool 3 |
5 |
100 |
30 |
25 |
Der effektive MAX-Wert wird berechnet als: min(100,100-70) = 30. Der berechnete Shared % ist der effektive MAX - MIN = 25. |
Mit dem freigegebenen Teil des Pools wird angezeigt, wohin Ressourcen verlagert werden können, sofern Ressourcen verfügbar sind. Belegte Ressourcen gehen jedoch in den angegebenen Pool über und sind nicht mehr freigegeben. Hierdurch lässt sich ggf. die Ressourcenausnutzung verbessern, wenn in einem bestimmten Pool keine Anforderungen vorliegen und somit die für diesen Pool konfigurierten Ressourcen für andere Pools freigegeben werden können.
Beispiele für extreme Poolkonfigurationen:
Alle Pools weisen Mindestwerte auf, deren Summe 100 Prozent der Serverressourcen ergibt. In diesem Fall entsprechen die Höchstwerte den Mindestwerten. Dies kommt einer Einteilung der Ressourcen in sich nicht überlappende Teile gleich, unabhängig davon, ob die Ressourcen in den einzelnen Pools tatsächlich ausgenutzt werden.
Alle Pools weisen einen Mindestwert von 0 (null) auf. Alle Pools stehen im Wettbewerb um verfügbare Ressourcen, und ihre letztendliche Größe ist abhängig von der Ressourcenbelegung in den einzelnen Pools. Andere Faktoren wie Richtlinien spielen jedoch auch eine Rolle bei der ultimativen Poolgröße.
Die Ressourcenkontrolle verfügt über zwei vordefinierte Ressourcenpools: den internen Pool und den Standardpool.
Interner Pool
Der interne Pool repräsentiert die von SQL Server belegten Ressourcen. Dieser unveränderliche Pool enthält immer nur die interne Gruppe. Die Ressourcenbelegung durch den internen Pool ist nicht eingeschränkt. Alle Arbeitsauslastungen im Pool gelten als unabdingbar für die Serverfunktion. Daher darf der interne Pool Druck auf andere Pools ausüben, selbst wenn dies zu einer Verletzung der Grenzwerte für die anderen Pools führt.
Hinweis |
---|
Die durch den internen Pool und die interne Gruppe belegten Ressourcen werden nicht von den insgesamt belegten Ressourcen abgezogen. Prozentwerte werden auf Basis der insgesamt verfügbaren Ressourcen berechnet. |
Standardpool
Der Standardpool ist der erste vordefinierte Benutzerpool. Bevor eine anderweitige Konfiguration vorgenommen wird, enthält der Standardpool nur die Standardgruppe. Der Standardpool kann nicht erstellt oder gelöscht, jedoch geändert werden. Er kann neben der Standardgruppe noch benutzerdefinierte Gruppen enthalten.
Hinweis |
---|
Die Standardgruppe kann zwar geändert, aber nicht aus dem Standardpool entfernt werden. |
Benutzerdefinierte Ressourcenpools
Die Ressourcenkontrolle stellt DDL-Anweisungen zum Erstellen, Ändern und Löschen von Ressourcenpools bereit.
Ressourcenpooltasks
Aufgabenbeschreibung |
Thema |
---|---|
Beschreibt, wie ein Ressourcenpool erstellt wird. |
|
Beschreibt, wie Ressourcenpooleinstellungen geändert werden. |
|
Beschreibt, wie ein Ressourcenpool gelöscht wird. |
Siehe auch
Konzepte
Arbeitsauslastungsgruppe der Ressourcenkontrolle
Klassifizierungsfunktion der Ressourcenkontrolle