Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Ez a cikk az SQL Server kiadásaira vonatkozó számítási kapacitáskorlátokat és az egyidejű többszálú (SMT) processzorokkal rendelkező fizikai és virtualizált környezetekben való eltéréseket ismerteti. Intel processzorokon az SMT neve Hyper-Threading.
Áttekintés
Ez a táblázat az előző diagram jelöléseit ismerteti:
| Érték | Leírás |
|---|---|
| 0..1 | Nulla vagy egy |
| 1 | Pontosan egy |
| 1..* | Egy vagy több |
| 0..* | Nulla vagy több |
| 1..2 | Egy vagy két |
További részletek:
- Egy virtuális gép (VM) egy vagy több virtuális processzorral rendelkezik.
- Egy vagy több virtuális processzor pontosan egy virtuális géphez van lefoglalva.
- Nulla vagy több logikai processzorhoz van hozzárendelve egy vagy egy virtuális processzor. Ha a virtuális processzorok logikai processzorokhoz való leképezése a következő:
- Egy a nullához: egy kötetlen logikai processzort jelöl, amelyet a vendég operációs rendszerek nem használnak.
- Egy a többhöz: egy túlvállalást jelöl.
- A semennyitől a sokig: a gazdarendszeren nem található virtuális gép. Így a virtuális gépek nem használnak logikai processzorokat.
- A foglalat nulla vagy több magra képezhető le. Amikor a socket-mag leképezés a következő:
- Egy a nullához: üres aljzatot jelöl. Nincs chip telepítve.
- Egy az egyben: egy egymagos chipet jelöl, amely a foglalatba van telepítve. Ez a leképezés manapság ritka.
- Egy a sokhoz: egy többmagos chipet jelöl, amelyet az aljzatba telepítenek. A tipikus értékek a 2, a 4 és a 8.
- Egy mag egy vagy két logikai processzorra van leképezve. Ha a magok logikai processzorokhoz való leképezése a következő:
- Egy az egyben: az SMT ki van kapcsolva.
- 1-2: Az SMT be van kapcsolva.
A cikkben használt kifejezésekre a következő definíciók vonatkoznak:
A szál- vagy logikai processzor az SQL Server, az operációs rendszer, az alkalmazás vagy az illesztőprogram szempontjából egy logikai számítási motor.
A mag egy processzoregység. Egy vagy több logikai processzorból állhat.
A fizikai processzorok egy vagy több magból állhatnak. A fizikai processzor megegyezik a processzorcsomaggal vagy a szoftvercsatornával.
NUMA-csomópontonkénti logikai magok számának korlátozása 64-re
Nagyobb mint 64 logikai processzort tartalmazó kiszolgálókon NUMA-csomópontonként olyan problémák léphetnek fel, mint például a veremlerakódás. A BIOS- vagy belsővezérlőprogram-konfiguráció nUMA-csomópontonként legfeljebb 64 logikai processzorra csökkentheti az operációs rendszer számára megjelenített logikai magok számát.
Figyelem
Az SQL Server 2022 (16.x) 11. kumulatív frissítése kompatibilitástörő változást vezetett be, amely miatt az adatbázismotor nem indul el, ha NUMA-csomópontonként több mint 64 logikai magot észlel.
Az SQL Server 2022 (16.x) 15. kumulatív frissítésétől kezdve a telepítő figyelmeztetést küld arról, hogy ez a konfiguráció nem támogatott, és az adatbázismotor szolgáltatás leállásához és letiltásához vezet. A figyelmeztetés a telepítési naplókban is szerepel.
Az SMT letiltásával csökkentheti egy Azure-beli virtuális gépNUMA-csomópontonkénti logikai magszámát. fizikai SQL Server-példányok esetében csökkentheti a logikai magok számát az NUMA-alfürtök (SNC) vagy a csomópontok foglalatonkénti (NPS) beállításaival.
SMT letiltása Azure-beli virtuális gépen
Az SQL Server NUMA-csomópontonként 64 logikai magot támogat. Bizonyos esetekben az Azure Mv3-sorozatú virtuális gép túllépheti ezt a korlátot, ami megakadályozza, hogy az SQL Server elinduljon, vagy csökkentett teljesítmény mellett fusson. Az SMT letiltásához hajtsa végre a következő módosításokat a PowerShell- és a Beállításszerkesztő (reg.exe) használatával. Mindenképpen biztonsági másolatot készít a beállításjegyzékről a szerkesztés előtt.
Ellenőrizze a logikai magok számát. Az SMT engedélyezve van, ha az arány 2:1 (a logikai magok száma a magok számának kétszerese).
Get-CimInstance -ClassName Win32_Processor | Select-Object -Property "NumberOfCores", "NumberOfLogicalProcessors"Tiltsa le az SMT-t a következő két beállításjegyzék-módosítással, majd indítsa újra a virtuális gépet.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8264 /f reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /fEllenőrizze ismét a logikai magok számát. A logikai magok számának meg kell egyeznie a magok számával.
Get-CimInstance -ClassName Win32_Processor | Select-Object -Property "NumberOfCores", "NumberOfLogicalProcessors"
A logikai magok számának csökkentése operációs rendszer nélküli példányokon
A következő szakaszok bemutatják, hogyan csökkenthető az SQL Server operációs rendszer nélküli példányainak logikai magjainak száma.
Intel Xeon CPU
A harmadik, negyedik és ötödik generációs Intel Xeon CPU-klehetővé teszik a NUMA-alfürtök (SNC) használatát, amelyet korábban Cluster-on-Die-nek (CoD) hívtak, ami két NUMA-tartományt eredményez egyetlen fizikai foglalaton belül.
Jegyzet
A hatodik generációs Intel Xeon processzorok esetében az alapértelmezett beállítás az, hogy a NUMA-alfürtözés (SNC2 vagy SNC3) engedélyezve van. Egyes CPU-modellekben az alapértelmezett SNC-konfiguráció több mint 64 logikai processzort eredményezhet NUMA-csomópontonként. Az Intel virtuális NUMA funkcióját az SNC2 vagy az SNC3 mellett a BIOS-ban/belső vezérlőprogramban is aktiválnia kell ezekhez a CPU-modellekhez.
| Konfigurációs beállítás | Leírás |
|---|---|
| Az SNC le van tiltva 1 | Letiltja az al-NUMA-fürtözést. |
| SNC2-kompatibilis 2 | Szoftvercsatornánként két NUMA-csomópontot jelenít meg. |
| SNC3 engedélyezve 2 | Csatlakozónként három NUMA-csomópontot mutat be. |
| Intel VirtualNuma engedélyezve van 3 | Több virtuális csomópontot hoz létre egyetlen fizikai NUMA-csomóponton belül. |
1 Alapértelmezett érték harmadik, negyedik és ötödik generációs Intel Xeon processzorokhoz.
2 Alapértelmezett a hatodik generációs Intel Xeon processzorokhoz és újabb verziókhoz.
3 Csak a hatodik generációs Intel Xeon processzorokon és újabb verziókban érhető el. Ezt a beállítást a magas magszámú processzorokhoz használja, ahol az SNC alapértelmezett beállításainak használatakor az NUMA-csomópontonkénti logikai processzorok száma meghaladja a 64-et.
AMD CPU
Az AMD CPU-konkülönböző csomópontok foglalatonkénti (NPS) opcióit engedélyezheti.
| Konfigurációs beállítás | Leírás |
|---|---|
NPS0 |
A kettős foglalatú rendszerben a NUMA egyetlen csomópontként jelenik meg, amelyben az összes memóriacsatorna összefonódva van a csomóponton. |
NPS1 (alapértelmezett) |
Ez a konfiguráció szoftvercsatornánként egy NUMA-csomópontot jelenít meg. |
NPS2 |
Ez a konfiguráció szoftvercsatornánként két NUMA-csomópontot mutat be, hasonlóan az SNC-hez. |
NPS4 |
Ez a konfiguráció szoftvercsatornánként négy NUMA-csomópontot mutat be. |
Megjegyzések
A több fizikai processzorral rendelkező vagy több maggal és/vagy SMT-vel rendelkező fizikai processzorokkal rendelkező rendszerek lehetővé teszik, hogy az operációs rendszer egyszerre több feladatot is végrehajthasson. Minden végrehajtási szál logikai processzorként jelenik meg. Ha például a számítógép két négymagos processzorral rendelkezik, amelyeken az SMT engedélyezve van, és magonként két szál van, akkor 16 logikai processzora van: processzoronként 2 processzor x 4 mag, processzoronként 2 szál. Érdemes megjegyezni, hogy:
Az SMT-mag egyetlen szálából származó logikai processzor számítási kapacitása kisebb, mint egy logikai processzor számítási kapacitása ugyanabból a magból, és az SMT le van tiltva.
Az SMT-mag két logikai processzorának számítási kapacitása nagyobb, mint ugyanazon mag számítási kapacitása, ha az SMT le van tiltva.
Az SQL Server minden kiadása két számítási kapacitási korlátot biztosít:
A foglalatok (vagy fizikai processzorok vagy processzorcsomagok) maximális száma
Az operációs rendszer által jelentett magok maximális száma
Ezek a korlátozások az SQL Server egyetlen példányára vonatkoznak. Ezek az egyetlen példány által használt maximális számítási kapacitást jelölik. Nem korlátozzák azt a kiszolgálót, ahol a példány üzembe helyezhető. Valójában az SQL Server több példányának ugyanazon a fizikai kiszolgálón való üzembe helyezése hatékony módszer egy olyan fizikai kiszolgáló számítási kapacitásának használatára, amelynek több szoftvercsatornája és/vagy magja van, mint amennyit a kapacitáskorlátok megengednek.
Az alábbi táblázat az SQL Server egyes kiadásainak egyetlen példányára vonatkozó számítási kapacitáskorlátokat határozza meg:
| SQL Server-kiadás | Egyetlen példány maximális számítási kapacitása (SQL Server-adatbázismotor) | Egyetlen példány maximális számítási kapacitása (AS, RS) |
|---|---|---|
| Vállalati kiadás: Magra alapozott licencelés 1 | Operációs rendszer maximális száma | Operációs rendszer maximális száma |
| fejlesztő | Operációs rendszer maximális száma | Operációs rendszer maximális száma |
| Standard 2 | 4 foglalat vagy 32 mag kisebbre korlátozva | 4 foglalat vagy 32 mag kisebbre korlátozva |
| Expressz | 1 aljzat vagy 4 mag kisebbre korlátozva | 1 aljzat vagy 4 mag kisebbre korlátozva |
1 Enterprise-kiadás a Server + Client Access License (CAL) licenccel SQL Server-példányonként legfeljebb 20 magra korlátozódik. (Ez a licenc nem érhető el az új szerződésekhez.) A core-alapú kiszolgálólicencelési modellnek nincsenek korlátai.
2 Az SQL Server 2022 (16.x) és korábbi verzióiban a korlát 4 szoftvercsatornából vagy 24 magból kisebb.
Virtualizált környezetben a számítási kapacitás korlátja a logikai processzorok számán alapul, nem a magokon. Ennek az az oka, hogy a processzorarchitektúra nem látható a vendégalkalmazások számára.
Egy négycsatornás processzorokkal feltöltött, magonként két SMT-szálat engedélyező kiszolgáló például 32 logikai processzort tartalmaz, amelyeken az SMT engedélyezve van. De csak 16 logikai processzort tartalmaz, és az SMT le van tiltva. Ezek a logikai processzorok leképezhetők a kiszolgálón lévő virtuális gépekre. A virtuális gépek számítási terhelése a logikai processzoron a gazdakiszolgáló fizikai processzorán futó végrehajtási szálra van leképezve.
Érdemes lehet letiltani az SMT-t, ha az egyes virtuális processzorok teljesítménye fontos. Az SMT konfigurálásához használja a processzor BIOS beállítását, de ez általában egy kiszolgálóra kiterjedő művelet, amely a kiszolgálón futó összes számítási feladatot érinti. Érdemes lehet elkülöníteni a virtualizált környezetekben futó számítási feladatokat azoktól a számítási feladatoktól, amelyek a fizikai operációs rendszer környezetében az SMT teljesítménynöveléséből profitálnának.
Kapcsolódó tartalom
- SQL Server 2022 kiadásai és támogatott funkciói
- AZ SQL Server maximális kapacitás-specifikációi
- SQL Server telepítési útmutatója
Segítség kérése
- ÖTLETEK AZ SQL-hez: Javaslatai vannak az SQL Server fejlesztésére?
- Microsoft Q &A (SQL Server)
- DBA Stack Exchange (sql-server címke): Sql Server-kérdések
- Stack Overflow (sql-server címke): Válaszok az SQL fejlesztési kérdéseire
- Microsoft SQL Server licencfeltételei és információi
- támogatási lehetőségek üzleti felhasználók számára
- További SQL Server-súgó és visszajelzés
Közreműködés az SQL dokumentációjában
Tudta, hogy saját maga szerkesztheti az SQL-tartalmakat? Ha így tesz, nem csak a dokumentáció fejlesztésében segít, hanem az oldal közreműködőjeként is jóváírást kap.
További információ: Microsoft Learn-dokumentáció szerkesztése.