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


Kiszolgálókonfiguráció: a párhuzamosság költségküszöbe

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

Ez a cikk azt ismerteti, hogyan konfigurálhatja a kiszolgálókonfigurációs beállítást az cost threshold for parallelism SQL Server Management Studio vagy a Transact-SQL használatával.

Tudnivalók a párhuzamosság költségküszöbéről

Ez cost threshold for parallelism a beállítás azt a küszöbértéket határozza meg, amelynél az SQL Server több logikai processzorral rendelkező számítógépek párhuzamos terveit veszi figyelembe. A cost threshold for parallelism beállítás bármilyen értékre beállítható 0 és 32 767 között.

A költség a lekérdezési terv becsült operátori költségeinek összege (például CPU és I/O). Ez egy relatív mérték, amelyet csak a tervválasztáshoz használnak; nem méri a tényleges futási időt.

Bizonyos Transact-SQL összetevők gátolhatják a párhuzamos terveket. Például nem beágyazott, felhasználó által definiált skaláris függvények (UDF-ek), táblaváltozó-módosítások és bizonyos rendszerhívások. Az SQL Server csak akkor értékeli ki a párhuzamos alternatívákat, ha a legjobb soros terv becsült költsége meghaladja az cost threshold for parallelism értéket, majd választhat olcsóbb párhuzamos csomagot.

Korlátozások

Az SQL Server a cost threshold for parallelism következő feltételek mellett hagyja figyelmen kívül az értéket:

  • A számítógép csak egy logikai processzorral rendelkezik.

  • A konfigurációs lehetőség miatt csak egyetlen logikai processzor érhető el az affinity mask SQL Server számára.

  • A max degree of parallelism kiszolgáló konfigurációs beállítása a következőre 1van állítva: .

Recommendations

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

Az alapértelmezett érték 5 egy kiindulási pont, nem pedig javaslat. A modern SQL Server-rendszereken a szint emelése segíthet abban, hogy kisebb OLTP-lekérdezések soros kivitelezési tervekkel fussanak. A további módosítások előtt használjon kisebb növekményeket, és figyelje meg a teljes üzleti ciklust. Ha szükséges, végezzen alkalmazástesztelést magasabb és alacsonyabb értékekkel az alkalmazás teljesítményének optimalizálásához.

Megjegyzés:

Az Azure SQL Database-ben nem lehet beállítani cost threshold for parallelism. A párhuzamosság szabályozására használja inkább a MAXDOP-t. További információ: Az alapértelmezett MAXDOP módosítása az Azure SQL Database-ben és a felügyelt Azure SQL-példányban.

Bizonyos esetekben párhuzamos terv is kiválasztható, annak ellenére, hogy a lekérdezés tervköltsége kisebb, mint az aktuális cost threshold for parallelism érték. A párhuzamos vagy soros terv használatára vonatkozó döntés az optimalizálási folyamat korábbi szakaszában megadott költségbecslésen alapul. További információt a lekérdezésfeldolgozási architektúra útmutatójában talál.

Megjegyzések

Annak megtekintéséhez, hogy a cost threshold for parallelism kiszolgáló konfigurációs beállítása túl magas vagy túl alacsony-e a számítási feladathoz, keresse meg az alábbi mutatókat.

Párhuzamossági beállítás költségküszöbe Description
Túl alacsony - Túl sok olyan lekérdezés, amely kevés CPU-erőforrást igényel, fut párhuzamosan.

- A Lekérdezéstárban számos terv van is_parallel_plan beállítva 1.

- CXPACKET és CXCONSUMER uralja a várakozási típus statisztikáit. Előfordulhat, hogy ön is lát THREADPOOL és SOS_SCHEDULER_YIELD vár.
Túl magas - Nem futnak elég párhuzamosan a számítási feladat processzorigényes lekérdezései, és ennek eredményeként a processzor kihasználtsága magasabb az optimálisnál.

- SOS_SCHEDULER_YIELD a várakozási típus statisztikáit uralja.

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

  1. Az Object Explorerben kattintson a jobb gombbal egy kiszolgálóra, és válassza a Tulajdonságok lehetőséget.

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

  3. A Párhuzamosság területen módosítsa a cost threshold for parallelism kívánt értékre a beállítást. Írjon be vagy válasszon ki egy értéket 0 és 32 767 között.

Használd a Transact-SQL-t

Ez a példa bemutatja, hogyan lehet a sp_configure használatával a cost threshold for parallelism értékét beállítani 20 értékre.

USE master;
GO

EXECUTE sp_configure 'show advanced options', 1;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'cost threshold for parallelism', 20;
GO

RECONFIGURE;
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: Miután konfigurálta a párhuzamosság költségküszöbét

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