Megosztás a következőn keresztül:


Kiszolgálókonfiguráció: a párhuzamosság maximális foka

A következőkre vonatkozik:SQL Server

Ez a cikk bemutatja, hogyan lehet konfigurálni a max degree of parallelism kiszolgálókonfigurációs beállítást az SQL Serverben a MAXDOP SQL Server Management Studio vagy a Transact-SQL segítségével. Ha az SQL Server egy példánya egynél több mikroprocesszort vagy processzort tartalmazó számítógépen fut, az adatbázismotor észleli, hogy használható-e párhuzamosság. A párhuzamosság mértéke határozza meg, hogy a rendszer hány processzort alkalmaz egyetlen utasítás futtatására az egyes párhuzamos tervvégrehajtásokkor. Ezzel a max degree of parallelism beállítással korlátozhatja a párhuzamos terv végrehajtásához használandó processzorok számát. A megadott max degree of parallelismkorlátról további információt a lap Megfontolások szakaszában talál. Az SQL Server figyelembe veszi a lekérdezések párhuzamos végrehajtási terveit, az index adatdefiníciós nyelv (DDL) műveleteit, a párhuzamos beszúrásokat, az online alter oszlopot, a párhuzamos statisztikák gyűjteményét, valamint a statikus és kulcskészlet-alapú kurzorpopulációt.

Az SQL Server 2019 (15.x) automatikus javaslatokat vezetett be a max degree of parallelism kiszolgáló konfigurációs beállításának beállításához a telepítési folyamat során elérhető processzorok száma alapján. A beállítási felhasználói felületen elfogadhatja az ajánlott beállításokat, vagy saját értéket adhat meg. További információ: Adatbázismotor konfigurációja – MaxDOP oldal.

Az Azure SQL Database-ben, az SQL Database-ben a Fabricben és az Azure SQL Managed Instance-ben az alapértelmezett MAXDOP beállítás minden új önálló adatbázishoz, rugalmas készletadatbázishoz és felügyelt példányhoz.8 Az Azure SQL Database és a Fabric SQL Database esetében a MAXDOP adatbázisra kiterjedő konfiguráció 8 értéke van beállítva. A felügyelt Azure SQL-példányban a max degree of parallelism kiszolgáló konfigurációs beállítása a következőre 8van állítva: .

Az Azure SQL Database-ben vagy a Fabricben található SQL Database-ben további információt MAXDOPaz Azure SQL Database-ben és a Fabricben található SQL Database-ben a maximális párhuzamossági fok (MAXDOP) konfigurálása című témakörben talál.

Considerations

Ez a beállítás egy speciális lehetőség, és csak tapasztalt adatbázis-szakembernek kell módosítania.

Ha az affinitási maszk beállítás nincs alapértelmezettként beállítva, korlátozhatja az SQL Server számára elérhető processzorok számát szimmetrikus többprocesszoros (SMP) rendszereken.

Az max degree of parallelism beállítása lehetővé teszi, hogy az SQL Server az összes rendelkezésre álló processzort használja, legfeljebb 64 processzorig. A legtöbb esetben azonban nem ez az ajánlott érték. A maximális párhuzamossághoz javasolt értékekkel kapcsolatos további információkért tekintse meg az oldal Javaslatok szakaszát.

A párhuzamos tervlétrehozás letiltásához állítsa a következőre max degree of parallelism : 1. Állítsa az értéket 1 és 32 767 közötti számra az egyetlen lekérdezés végrehajtása során használható processzormagok maximális számának megadásához. Ha a rendelkezésre álló processzorok számánál nagyobb érték van megadva, a rendszer az elérhető processzorok tényleges számát használja. Ha a számítógép csak egy processzorral rendelkezik, a rendszer figyelmen kívül hagyja az max degree of parallelism értéket.

A párhuzamosság maximális korlátja tevékenységenként van beállítva. Ez nem kérésenként vagy lekérdezési korlátonként. Ez azt jelenti, hogy egy párhuzamos lekérdezés végrehajtása során egyetlen kérés több feladatot is létrehozhat a MAXDOP korlátig, és minden tevékenység egy feldolgozót és egy ütemezőt használ. További információért lásd a Párhuzamos feladatok ütemezése című szakaszt a Szál- és feladatarchitektúra útmutatóban.

Felülbírálhatja a párhuzamossági kiszolgáló konfigurációs értékének maximális mértékét:

Azok az indexműveletek, amelyek indexet hoznak létre vagy építenek újra, vagy amelyek fürtözött indexet elvetnek, erőforrásigényesek lehetnek. Az indexelési műveletek párhuzamossági értékének maximális mértékét felülbírálhatja az MAXDOP indexelési utasítás indexbeállításának megadásával. Az MAXDOP érték a végrehajtási időpontban lesz alkalmazva az utasításra, és nem az index metaadatai tárolják. További információ: Párhuzamos indexelési műveletek konfigurálása.

A lekérdezések és az indexműveletek mellett ez a beállítás irányítja a DBCC CHECKTABLE, DBCC CHECKDB és DBCC CHECKFILEGROUP párhuzamosítását is. Ezeknek az utasításoknak a párhuzamos végrehajtási terveit letilthatja a 2528-at jelző nyomkövetési jelzővel. További információ: nyomkövetési jelző 2528.

Az SQL Server 2022 (16.x) bevezette a Párhuzamosság foka (DOP) visszajelzést, amely egy új funkció a lekérdezési teljesítmény javítására azáltal, hogy azonosítja az ismétlődő lekérdezések párhuzamossági hatékonysági hiányosságait az eltelt idő és várakozás alapján. A DOP-visszajelzés a funkciók intelligens lekérdezésfeldolgozó családjának része, és a párhuzamosság optimális alatti használatát kezeli az ismétlődő lekérdezések esetében. A DOP-visszajelzésről további információt a párhuzamossági fok (DOP) visszajelzésében talál.

Recommendations

Az SQL Server 2016 (13.x) és újabb verzióiban a szolgáltatás indításakor, ha az adatbázismotor NUMA-csomópontonként vagy szoftvercsatornánként több mint nyolc fizikai magot észlel indításkor, a rendszer alapértelmezés szerint automatikusan létrehozza a soft-NUMA csomópontokat. Az adatbázismotor ugyanabból a fizikai magból különböző soft-NUMA-csomópontokba helyezi a logikai processzorokat. Az alábbi táblázatban szereplő javaslatok célja, hogy egy párhuzamos lekérdezés összes munkaszála ugyanabban a soft-NUMA-csomópontban maradjon. Ez javítja a lekérdezések teljesítményét és a munkavégző szálak elosztását a számítási feladat NUMA-csomópontjai között. További információ: Soft-NUMA (SQL Server).

Az SQL Server 2016 (13.x) és újabb verzióiban a kiszolgáló konfigurációs értékének konfigurálásakor kövesse az max degree of parallelism alábbi irányelveket:

Kiszolgálókonfiguráció Processzorok száma Guidance
Kiszolgáló egyetlen NUMA-csomóponttal Kisebb vagy egyenlő nyolc logikai processzornál Tartsa a MAXDOP logikai processzorok száma alatt vagy alatt
Kiszolgáló egyetlen NUMA-csomóponttal Nyolcnál több logikai processzor Megtartva MAXDOP 8-nál
Kiszolgáló több NUMA-csomóponttal NUMA-csomópontonként 16 logikai processzornál kisebb vagy egyenlő NUMA-csomópontonkénti logikai processzorok száma vagy alatt tartása MAXDOP
Kiszolgáló több NUMA-csomóponttal NUMA-csomópontonként 16 logikai processzornál nagyobb NUMA-csomópontonként a logikai processzorok számának felét tartsa meg MAXDOP 16-os MAX értékkel

Az előző táblázatban szereplő NUMA-csomópont az SQL Server 2016 (13.x) és újabb verziói által automatikusan létrehozott soft-NUMA csomópontokra, illetve hardveralapú NUMA-csomópontokra vonatkozik, ha a soft-NUMA le van tiltva.

Ugyanezeket az irányelveket akkor használja, ha beállítja a Resource Governor számítási feladatok csoportjaihoz a párhuzamosság maximális fokát. További információ: CREATE WORKLOAD GROUP.

SQL Server 2014 és korábbi verziók

Az SQL Server 2008 (10.0.x) és az SQL Server 2014 (12.x) között a kiszolgáló konfigurációs értékének konfigurálásakor kövesse az max degree of parallelism alábbi irányelveket:

Kiszolgálókonfiguráció Processzorok száma Guidance
Kiszolgáló egyetlen NUMA-csomóponttal Kisebb vagy egyenlő nyolc logikai processzornál Tartsa a MAXDOP logikai processzorok száma alatt vagy alatt
Kiszolgáló egyetlen NUMA-csomóponttal Nyolcnál több logikai processzor Megtartva MAXDOP 8-nál
Kiszolgáló több NUMA-csomóponttal NUMA-csomópontonként nyolc logikai processzornál kisebb vagy egyenlő NUMA-csomópontonkénti logikai processzorok száma vagy alatt tartása MAXDOP
Kiszolgáló több NUMA-csomóponttal Több mint nyolc logikai processzor NUMA-csomópontonként Megtartva MAXDOP 8-nál

Permissions

A sp_configure végrehajtási engedélyei paraméterek nélkül vagy csak az első paraméterrel alapértelmezés szerint minden felhasználónak adottak. A konfigurációs beállítás módosításához vagy a sp_configure utasítás futtatásához mindkét paraméterrel rendelkező RECONFIGURE végrehajtásához a felhasználónak rendelkeznie kell a ALTER SETTINGS kiszolgálószintű engedéllyel. A ALTER SETTINGS engedélyt implicit módon a sysadmin és serveradmin rögzített kiszolgálói szerepkörök birtokolják.

Az SQL Server Management Studio használata

Ezek a beállítások módosítják a MAXDOP példányt.

  1. Az Object Explorerben kattintson a jobb gombbal a kívánt példányra, és válassza a Tulajdonságok lehetőséget.

  2. Válassza ki a Speciális csomópontot.

  3. A Párhuzamosság maximális foka mezőben válassza ki a párhuzamos terv végrehajtásához használni kívánt processzorok maximális számát.

Használd a Transact-SQL-t

  1. Csatlakozzon az adatbázismotorhoz az SQL Server Management Studióval.

  2. A Standard sávon válassza az Új lekérdezés lehetőséget.

  3. Másolja és illessze be a következő példát a lekérdezési ablakba, és válassza az Végrehajtás lehetőséget. Ez a példa bemutatja, hogyan használható az sp_configure a max degree of parallelism opció 16 konfigurálásához.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE WITH OVERRIDE;
    GO
    
    EXECUTE sp_configure 'max degree of parallelism', 16;
    GO
    
    RECONFIGURE WITH OVERRIDE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

További információ: kiszolgáló konfigurációs beállításai.

Követés: A párhuzamosság maximális fokának konfigurálása után

A beállítás a kiszolgáló újraindítása nélkül azonnal érvénybe lép.