Condividi tramite


Pool di risorse di Resource Governor

In Resource Governor in SQL Server, un pool di risorse rappresenta un subset delle risorse fisiche di un'istanza del Motore di database. Ogni pool di risorse può contenere uno o più gruppi di carico di lavoro. Una volta avviata, la sessione viene assegnata a un gruppo di carico di lavoro specifico tramite la funzione di classificazione di Resource Governor e deve essere eseguita utilizzando le risorse assegnate a tale gruppo.

Concetti relativi al pool di risorse

Un pool di risorse, o pool, rappresenta le risorse fisiche del server. Il pool può essere paragonato a un'istanza virtuale di SQL Server in un'istanza di SQL Server.

Un pool è composto da due parti. Una parte non si sovrappone agli altri pool e consente di abilitare la prenotazione delle risorse minime. L'altra parte è condivisa con gli altri pool e supporta l'utilizzo massimo possibile delle risorse. In questa versione di Resource Governor le risorse del pool vengono impostate specificando uno dei seguenti valori per ciascuna risorsa:

  • Valore MIN, MAX o CAP per CPU

  • Valore MIN o MAX per memoria

I valori MIN e MAX rappresentano la disponibilità minima garantita delle risorse del pool e le dimensioni massime del pool, rispettivamente, per ciascuna di queste risorse.

Il valore CAP per CPU rappresenta un valore hardware massimo. La capacità di CPU disponibile oltre questo valore non sarà utilizzata.

La somma dei valori MIN di tutti i pool non può superare il 100% delle risorse del server. I valori MAX e CAP possono essere impostati dovunque nell'intervallo tra MIN e 100 percento incluso.

Se un pool ha di un valore MIN diverso da zero definito, il valore MAX effettivo degli altri pool viene nuovamente regolato. Il valore minimo del valore MAX configurato di un pool e la somma dei valori MIN degli altri pool vengono sottratti dal 100 per cento.

Nella seguente tabella vengono illustrati i concetti precedenti. Nella tabella vengono mostrate le impostazioni per il pool interno, il pool predefinito e due pool definiti dall'utente. Le seguenti formule vengono utilizzate per calcolare il valore MAX% effettivo e la percentuale condivisa.

  • Il valore Min (X, Y) indica il valore più piccolo di X e Y.

  • La somma (X) indica la somma del valore X in tutti i pool.

  • Totale percentuale condivisa = 100 - la somma (MIN%).

  • Valore effettivo MAX% = minimo (X, Y).

  • Percentuale condivisa = Valore effettivo MAX% - valore MIN%.

Nome pool

Impostazione MIN%

Impostazione MAX%

Valore MAX% effettivo calcolato

Valore % condiviso calcolato

Commento

interno

0

100

100

0

I valori MAX% effettivo e % condiviso non sono applicabili al pool interno.

predefinito

0

100

30

30

Il valore MAX effettivo viene calcolato come: minimo (100,100 - (20+50)) = 30. Il valore % condiviso calcolato è il valore effettivo MAX - MIN = 30.

Pool 1

20

100

50

30

Il valore MAX effettivo viene calcolato come: minimo (100,100-50) = 50. Il valore % condiviso calcolato è il valore effettivo MAX – MIN = 30.

Pool 2

50

70

70

20

Il valore MAX effettivo viene calcolato come: minimo (70,100-20) = 70. Il valore % condiviso calcolato è il valore effettivo MAX – MIN = 20.

Utilizzando la tabella precedente come esempio, è possibile descrivere ulteriormente le regolazioni che si verificano quando viene creato un altro pool. Il pool descritto è il pool 3 e ha una impostazione MIN% di 5.

Nome pool

Impostazione MIN%

Impostazione MAX%

Valore MAX% effettivo calcolato

Valore % condiviso calcolato

Commento

interno

0

100

100

0

I valori MAX % effettivo e % condiviso non sono applicabili al pool interno.

predefinito

0

100

25

25

Il valore MAX effettivo viene calcolato come: minimo (100,100-(20+50+5) = 25. Il valore % condiviso calcolato è il valore effettivo MAX – MIN = 25.

Pool 1

20

100

45

25

Il valore MAX effettivo viene calcolato come: minimo (100,100-55) = 45. Il valore % condiviso calcolato è il valore effettivo MAX – MIN = 25.

Pool 2

50

70

70

20

Il valore MAX effettivo viene calcolato come: minimo (70,100-25) = 70. Il valore % condiviso calcolato è il valore effettivo MAX – MIN = 20.

Pool 3

5

100

30

25

Il valore MAX effettivo viene calcolato come: minimo (100,100-70) = 30. Il valore % condiviso calcolato è il valore effettivo MAX – MIN = 25.

La parte condivisa del pool viene utilizzata per indicare la destinazione possibile delle risorse, se disponibili. Tuttavia, quando le risorse vengono utilizzate vengono destinate al pool specificato e non vengono condivise. Ciò può migliorare l'utilizzo delle risorse nei casi in cui non sono presenti richieste in un pool specificato e le risorse configurate per il pool possono essere liberate per gli altri pool.

Alcuni casi estremi di configurazione del pool sono:

  • Tutti i pool definiscono valori minimi che in totale rappresentano il 100 per cento delle risorse del server. In questo caso i valori massimi effettivi equivalgono ai minimi. Ciò equivale a dividere le risorse del server in parti non sovrapposte indipendentemente dalle risorse utilizzate in ciascun pool.

  • Tutti i pool hanno zero minimi. Tutti i pool si contendono le risorse disponibili e le dimensioni finali sono basate sull'utilizzo delle risorse in ciascun pool. Altri fattori quali i criteri svolgono un ruolo nella determinazione delle dimensioni finali del pool.

In Resource Governor sono disponibili due pool di risorse, il pool interno e il pool predefinito.

Pool interno

Il pool interno rappresenta le risorse utilizzate da SQL Server. Questo pool contiene sempre soltanto il gruppo interno e non può essere modificato in alcun modo. L'utilizzo delle risorse da parte del pool interno non è limitato. I carichi di lavoro nel pool sono considerati fondamentali per il funzionamento del server e Resource Governor consente al pool interno di richiedere memoria agli altri pool anche se questa comporta la violazione dei limiti impostati per gli altri pool.

[!NOTA]

L'utilizzo del pool interno e delle risorse del gruppo interno non viene sottratto dall'utilizzo complessivo delle risorse. Le percentuali vengono calcolate dalle risorse complessive disponibili.

Pool predefinito

Il pool predefinito è il primo pool dell'utente predefinito. Prima della configurazione il pool predefinito contiene solo il gruppo predefinito. Il pool predefinito non può essere creato o eliminato ma può essere modificato. Il pool predefinito può contenere gruppi definiti dall'utente oltre al gruppo predefinito.

[!NOTA]

Il gruppo predefinito può essere modificato ma non può essere spostato all'esterno del pool predefinito.

Pool di risorse definiti dall'utente

Resource Governor fornisce istruzioni DDL per la creazione, la modifica e l'eliminazione dei pool di risorse.

Attività del pool di risorse

Descrizione dell'attività

Argomento

Viene descritto come creare un pool di risorse.

Creare un pool di risorse

Viene descritto come modificare le impostazioni del pool di risorse.

Modificare le impostazioni del pool di risorse

Viene descritto come eliminare un pool di risorse.

Eliminare un pool di risorse

Vedere anche

Concetti

Resource Governor

Gruppo di carico di lavoro di Resource Governor

Funzione di classificazione di Resource Governor

Configurare Resource Governor utilizzando un modello

Visualizzare proprietà di Resource Governor