Erőforrás-vezérlő erőforrás-csoport

A következőkre vonatkozik:SQL ServerAzure SQL Managed Instance

Az erőforrás-kormányzóban az erőforráskészlet egy adatbázismotor-példány fizikai erőforrásainak egy részhalmazát jelöli. Az erőforrás-vezérlővel megadhatja az alkalmazáskérelmek által az erőforráskészleten belül használható processzor, fizikai I/O és memória teljes mennyiségét.

Minden erőforráskészlet tartalmazhat egy vagy több számítási feladatcsoportot. Amikor létrejön egy munkamenet, az egy adott számítási feladatcsoportba lesz besorolva. A számítási feladatok csoportszabályzatai szabályozzák a munkameneten végrehajtható kéréseket. A kérések a mögöttes erőforráskészlet erőforrásait használják.

Az erőforráskészlet fogalmai

Az erőforráskészlet a kiszolgáló fizikai erőforrásait jelöli, például a processzort, a memóriát és az I/O-t. A konfigurációtól függően az erőforráskészlet erőforrásai lefoglalhatók vagy megoszthatóak más készletekkel. A készletkonfiguráció úgy van meghatározva, hogy az egyes erőforrástípusokhoz (CPU, memória és fizikai I/O) egy vagy több beállítást ad meg:

MIN_CPU_PERCENT és MAX_CPU_PERCENT

Ezek a beállítások határozzák meg az erőforráskészletben lévő összes kérés minimális és maximális garantált átlagos processzor-sávszélességét, amikor processzor-versengés történik. MIN_CPU_PERCENT a CPU sávszélesség foglalását jelenti az erőforráskészlet számára, amelyet más készletek nem használhatnak, ha versengés lép fel. MAX_CPU_PERCENT egy puha korlátozás a készletben lévő CPU-sávszélességre. A korlátot csak akkor kényszeríti ki a rendszer, ha a processzor verseng más készletekkel.

Tegyük fel például, hogy egy vállalat értékesítési és marketing részlegei ugyanazzal az SQL Server-példánysal osztoznak. Az értékesítési részleg processzorigényes számítási feladattal rendelkezik, magas prioritású lekérdezésekkel. A marketing részleg processzorigényes számítási feladatokat is használ, de alacsonyabb prioritású lekérdezésekkel rendelkezik. Ha külön erőforráskészletet hoz létre minden részleghez, hozzárendelhet legalább 40 processzorszázadat az Értékesítési erőforráskészlethez, a marketingerőforrás-készlethez pedig legfeljebb 30 cpu-százalékot. Ez a konfiguráció biztosítja, hogy az értékesítési munkaterhelés megkapja a szükséges CPU erőforrásokat, és a marketing munkaterhelés nem befolyásolja az értékesítési munkaterhelés CPU-igényeit.

A maximális cpu-százalékos érték egy opportunista maximum. Ha rendelkezésre áll cpu-kapacitás, a kérések az összeset használják, akár 100 százalékig. A maximális érték csak akkor érvényes, ha a CPU-erőforrásokért versengés történik. Az előző példában, ha az Értékesítési számítási feladat nem fut, a Marketing számítási feladat szükség esetén a processzor 100 százalékát használhatja.

CAP_CPU_PERCENT

A CAP_CPU_PERCENT beállítás az erőforráskészletben lévő összes kérés processzor-sávszélességének korlátja. A készlethez társított számítási feladatok a rendelkezésre álló értéknél MAX_CPU_PERCENT nagyobb processzorkapacitást használhatnak, de nem a rendelkezésre álló érték CAP_CPU_PERCENTfelett. Az előző szakaszban szereplő példa alapján tegyük fel, hogy a marketing részleget terheljük az erőforrás-használatért. Kiszámítható számlázást szeretnének, és nem szeretnének a processzor 30 százalékánál többet fizetni. Ez a cél a marketingerőforrás-készlet 30-ra állításával CAP_CPU_PERCENT valósítható meg.

MIN_MEMORY_PERCENT és MAX_MEMORY_PERCENT

Ezek a beállítások az erőforráskészlet számára fenntartott minimális és maximális memóriamennyiség, amely nem osztható meg más erőforráskészletekkel.

A készlet minimális memóriaértékének beállítása lefoglalja az erőforráskészletben végrehajtott kérések memóriáját. Ez a beállítás eltér a készlettől MIN_CPU_PERCENT, mert a fenntartott memória akkor is megmaradhat a készletben, ha a készlethez tartozó számítási feladatok csoportjai nem kérnek kéréseket. Ügyeljen arra, hogy ezt a beállítást használja, mivel ez a memória nem érhető el más készlet számára, még akkor is, ha nincsenek aktív kérések. A készlet maximális memóriaértékének beállítása azt jelenti, hogy ha a kérések ebben a készletben futnak, soha nem kapnak többet a teljes memória ezen százalékánál.

Azoknál az adatbázisoknál, amelyek nem tartalmaznak memóriaoptimalizált táblákat, a MIN_MEMORY_PERCENT által szabályozott memória kifejezetten a lekérdezés munkaterületének memóriája vagy a lekérdezés-végrehajtási engedély memóriája. A pufferkészlet memóriája (adat- és indexlapok) mindig meg van osztva az összes erőforráskészlet között, és az erőforrás-vezérlő nem tart fenn vagy nem korlátozza. A lekérdezés-végrehajtási memóriahasználati támogatásokkal kapcsolatos további információkért tekintse meg a memóriahasználati szempontokat. További információ az erőforráskészletek memóriaoptimalizált táblákkal való használatáról: Adatbázis kötése Memory-Optimized táblákkal egy erőforráskészlethez.

AFFINITÁS

Ez a beállítás lehetővé teszi egy erőforráskészlet egy vagy több ütemezőhöz vagy NUMA-csomóponthoz való affinitását a cpu-erőforrások nagyobb elkülönítése érdekében. Az előző szakaszok értékesítési és marketing forgatókönyvének használatához tegyük fel, hogy az Értékesítési részlegnek egy elszigeteltebb környezetre van szüksége, és folyamatosan igényli a logikai processzor 100%-át. A beállítás használatával AFFINITY az értékesítési és marketing számítási feladatok különböző logikai CPU-kra ütemezhetők. Feltéve, hogy a CAP_CPU_PERCENT marketingkészlet meg van adva, a Marketing számítási feladat továbbra is az egyik PROCESSZOR legfeljebb 30 százalékát használja, míg az Értékesítési számítási feladat egy másik processzor 100 százalékát használja.

MIN_IOPS_PER_VOLUME és MAX_IOPS_PER_VOLUME

Ezek a beállítások az erőforráskészlet lemezkötetenkénti másodpercenkénti minimális és maximális fizikai IO-műveletei (IOPS). Ezekkel a beállításokkal szabályozhatja az adott erőforráskészlet felhasználói kérései által kibocsátott fizikai I/O-kat. Az értékesítési részleg például több hónap végi jelentést hoz létre nagy kötegekben. Az ezekben a kötegekben lévő lekérdezések olyan IOS-eket hozhatnak létre, amelyek telíthetik a lemezkötetet, és befolyásolhatják az ugyanazon SQL Server-példányon található más magasabb prioritású számítási feladatok teljesítményét. A munkaterhelés elkülönítéséhez a MIN_IOPS_PER_VOLUME értéke 500-ra van állítva, az Értékesítési részleg erőforráskészletéhez tartozó MAX_IOPS_PER_VOLUME pedig 2000-re van állítva.

Rendszer- és felhasználó által definiált erőforráskészletek

Az erőforrás-kezelő két beépített erőforráskészlettel rendelkezik: a internal készlettel és a default készlettel. További felhasználó által definiált készleteket is létrehozhat.

Belső erőforráscsoport

A internal készlet az adatbázismotor által felhasznált erőforrásokat szabályozza. Ez a készlet mindig csak a internal csoportot tartalmazza, és a készlet semmilyen módon nem módosítható. A internal készlet erőforrás-felhasználása nincs korlátozva. A készletben lévő számítási feladatok kritikus fontosságúak az adatbázismotor működéséhez. Az erőforrás-vezérlő lehetővé teszi, hogy a internal készlet nyomást gyakoroljon más készletekre akkor is, ha az a többi készletre vonatkozó korlátok megsértését jelenti.

Megjegyzés:

A internal készlet- és internal csoporterőforrás-használat nincs kivonva a teljes erőforrás-használatból. A százalékos értékek kiszámítása a rendelkezésre álló teljes erőforrásból történik.

Alapértelmezett csoport

Kezdetben a default készlet csak a számítási feladatcsoportot default tartalmazza. A default készletet nem lehet létrehozni vagy elvetni, de módosítani lehet. A default készlet a csoporton kívül tartalmazhat felhasználó által definiált default számítási feladatcsoportokat is. Az SQL Server 2016 -tól kezdve (13.x) az default adatbázismotor-műveletek erőforráskészlete mellett létezik egy default külső erőforráskészlet is, amely kifejezetten külső folyamatokhoz, például R-szkriptek futtatásához használható.

Megjegyzés:

A default csoport módosítható, de nem helyezhető ki a default tárból.

Külső erőforráskészlet

A felhasználók létrehozhatnak egy külső készletet a külső folyamatok erőforrásainak meghatározásához. Az R-szolgáltatások esetében ez a készlet kifejezetten a rterm.exe, BxlServer.exe, python.exe és az általuk létrehozott egyéb folyamatokat szabályozza. További információért lásd CREATE EXTERNAL RESOURCE POOL.

Felhasználó által definiált erőforráskészletek

A környezet adott számítási feladataihoz létrehozhat felhasználó által definiált erőforráskészleteket. Az erőforrás-kormányzó DDL-utasításokat biztosít az erőforráskészletek létrehozásához, módosításához és törléséhez. További információ: Erőforráskészlet létrehozása, Erőforráskészlet törlése és Erőforráskészlet beállításainak módosítása.

Erőforrás-allokáció az erőforráskészletek között

A processzor- és memóriakorlátok és foglalások konfigurálásakor az összes készlet értékeinek összege MIN nem haladhatja meg a kiszolgáló erőforrásainak 100 százalékát. MAX és CAP értékek beállíthatók a MIN érték és 100 százalék közötti tartomány bármely pontján.

Ha egy készlet erőforrás-foglalással rendelkezik egy nem nulla MIN érték megadásával, a többi készlet tényleges MAX értéke csökkenhet. A készlet konfigurált MAX értékének legkisebb része és a MIN többi készlet értékeinek összege 100 százalékból lesz kivonva.

Az alábbi táblázatok ezt a koncepciót szemléltetik. Ezekben a táblázatokban a LEAST(X, Y) a X és a Y közül a kisebbet jelenti. Minden numerikus érték százalékos érték.

Az első táblázat a internal pool, a default pool és két felhasználó által meghatározott pool beállításait jeleníti meg.

Csoport neve MIN MAX Effective MAX Shared % Comment
internal 0 100 100 0 Effective MAX és Shared % nem alkalmazhatók a internal készletre.
default 0 100 30 30 Effective MAX = LEAST(100, 100 - (20 + 50)) = 30
Shared % = Effective MAX - MIN = 30
Pool 1 20 100 50 30 Effective MAX = LEAST(100, 100 - 50) = 50
Shared % = Effective MAX - MIN = 30
Pool 2 50 70 70 20 Effective MAX = LEAST(70, 100 - 20) = 70
Shared % = Effective MAX - MIN = 20

Az előző táblázatot példaként használva tovább szemléltethetjük azokat a módosításokat, amelyek egy másik erőforráskészlet létrehozásakor történnek. Ez a tár neve Pool 3 és van egy MIN beállítása 5.

Csoport neve MIN MAX Effective MAX Shared % Comment
internal 0 100 100 0 Effective MAX és Shared % nem alkalmazhatók a internal készletre.
default 0 100 25 25 Effective MAX = LEAST(100, 100 - (20 + 50 + 5)) = 25
Shared % = Effective MAX - MIN = 25
Pool 1 20 100 45 25 Effective MAX = LEAST(100, 100 - (50 + 5))) = 45
Shared % = Effective MAX - MIN = 25
Pool 2 50 70 70 20 Effective MAX = LEAST(70, 100 - (20 + 5))) = 70
Shared % = Effective MAX - MIN = 20
Pool 3 5 100 30 25 Effective MAX = LEAST(100, 100 - (50 + 20))) = 30
Shared % = Effective MAX - MIN = 25

A készlet megosztott része az a hely, ahol az erőforrások elérhetők, ha rendelkezésre állnak. Az erőforrások felhasználásakor azonban a megadott készletbe kerülnek, és nem lesznek megosztva. Ez a viselkedés javíthatja az erőforrások kihasználtságát azokban az esetekben, amikor egy adott készletben nincsenek kérések, és a készlethez nem fenntartott erőforrások felszabadíthatók más készletek számára.

A medencekonfiguráció néhány szélsőséges esete:

  • Minden készlet olyan minimumokat határoz meg, amelyek összesen a kiszolgálói erőforrások 100 százalékát képviselik. Ebben az esetben a tényleges maximumok megegyeznek a minimális értékekkel. Ez egyenértékű azzal, hogy a kiszolgálói erőforrásokat nem átlapozó részekre osztja, függetlenül attól, hogy az erőforrások hogyan lesznek felhasználva az adott készleten belül.
  • Minden csoportnak nulla minimuma van. Minden tár osztozik és versenyez az elérhető erőforrásokért, és az üzem méretüket az egyes tárak erőforrás-felhasználása határozza meg. A készletméretek alakításában más tényezők, például a számítási feladatok csoportszabályzatai is szerepet játszanak.

Erőforráskészlet-tevékenységek

Az erőforráskészletek számos rendszererőforrást szabályozhatnak. További információért lásd CREATE RESOURCE POOL.

További példákért és teljes útmutatóért tekintse meg az oktatóanyagot: Az erőforrás-vezérlő konfigurációs példái és ajánlott eljárásai.

Tevékenység leírása Cikk
Erőforráskészlet létrehozása Erőforráskészlet létrehozása
Erőforráskészlet beállításainak módosítása Erőforráskészlet beállításainak módosítása
Erőforráskészlet törlése Erőforráskészlet törlése

Az erőforrás-kormányzó DDL-utasításokat biztosít az erőforráskészletek létrehozásához, módosításához és törléséhez.

További információ, beleértve az erőforráskészlet-foglalásokkal és -korlátozásokkal kapcsolatos részleteket is: