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


Kiszolgálókonfiguráció: affinitás I/O-maszk

A következőkre vonatkozik:SQL Server

A többfeladatos munkavégzés végrehajtásához a Windows néha áthelyezi a folyamatszálakat a különböző processzorok között. Bár az operációs rendszer szempontjából hatékony, ez a tevékenység csökkentheti az SQL Server teljesítményét nagy rendszerterhelések esetén, mivel az egyes processzorgyorsítótárak ismételten újratöltődnek adatokkal. A processzorok adott szálakhoz való hozzárendelése ezen feltételek mellett javíthatja a teljesítményt a processzor újraterhelésének megszüntetésével; a szál és a processzor közötti ilyen társítást processzor-affinitásnak nevezzük.

Az SQL Server két affinitásmaszk-beállítással támogatja a processzor affinitást: affinity mask (más néven CPU-affinitási maszk) és affinity I/O mask. A beállítással kapcsolatos további információkért lásd: affinity maskKiszolgálókonfiguráció: affinitási maszk. A 33–64 processzorral rendelkező kiszolgálók processzor- és I/O-affinitásának támogatásához az affinitás64 maszkot és az affinitás64 I/O-maszkkiszolgáló konfigurációs beállításait is használnia kell.

Megjegyzés:

A 33–64 processzorral rendelkező kiszolgálók affinitási támogatása csak 64 bites operációs rendszereken érhető el.

A affinity I/O mask beállítás az SQL Server-lemez I/O-ját a CPU-k egy meghatározott részhalmazához köti. A csúcskategóriás SQL Server online tranzakciófeldolgozási (OLTP) környezetekben ez a bővítmény növelheti az I/Os-t kibocsátó SQL Server-szálak teljesítményét. Ez a fejlesztés nem támogatja az egyes lemezek vagy lemezvezérlők hardveres affinitásait.

Az érték affinity I/O mask azt határozza meg, hogy a többprocesszoros számítógépek mely processzorai jogosultak az SQL Server lemez I/O-műveleteinek feldolgozására. A maszk egy bitkép, amelyben a jobb szélső bit adja meg a legalacsonyabb sorrendű CPU-t(0), a közvetlenül balra lévő bit pedig a következő legalacsonyabb sorrendű CPU-t(1) és így tovább. 32-nél több processzor konfigurálásához állítsa be a affinity I/O maskaffinity64 I/O mask.

Az értékek a affinity I/O mask következők:

Bájtok maszkban CPU-k száma
1 bájt Legfeljebb 8 processzor
2 bájtos Legfeljebb 16 processzor
3 bájtos Legfeljebb 24 processzor
4 bájtos Legfeljebb 32 PROCESSZOR

Több mint 32 processzor lefedéséhez konfiguráljon 4 bájtot affinity I/O mask az első 32 CPU-hoz, és legfeljebb 4 bájtot affinity64 I/O mask a fennmaradó processzorokhoz.

Az affinitás I/O-mintájának egy 1 része azt határozza meg, hogy a megfelelő processzor jogosult-e az SQL Server lemez I/O-műveleteinek végrehajtására. Egy 0 bit azt határozza meg, hogy az SQL Server lemez I/O-műveleteit nem kell ütemezni a megfelelő CPU-hoz. Ha az összes bit értéke meg van adva 0, vagy affinity I/O mask nincs megadva, az SQL Server-lemez I/O-jának ütemezése az SQL Server-szálak feldolgozására jogosult cpu-k bármelyikére történik.

Mivel az SQL Server-beállítás affinity I/O mask beállítása speciális művelet, csak akkor használja, ha szükséges. A legtöbb esetben az alapértelmezett Windows-affinitás biztosítja a legjobb teljesítményt.

A beállítás megadásakor a affinity I/O mask konfigurációs beállítással kell használnia affinity mask . Ne engedélyezze ugyanazt a processzort a kapcsolóban és a affinity I/O maskaffinity mask kapcsolóban sem. Az egyes CPU-knak megfelelő biteknek az alábbi három állapot egyikében kell lenniük:

  • 0 mind a affinity I/O mask beállításban, mind a beállításban affinity mask .
  • 1 beállításban affinity I/O mask és 0 a affinity mask beállításban.
  • 0 beállításban affinity I/O mask és 1 a affinity mask beállításban.

A affinity I/O mask beállítás egy speciális lehetőség. Ha a sp_configure rendszer által tárolt eljárást használja a beállítás módosításához, csak akkor módosíthatja affinity I/O mask a beállítást, ha show advanced options a beállítás értéke 1. Az SQL Serverben a affinity I/O mask beállítás újrakonfigurálásához újra kell indítani az SQL Server-példányt.

Caution

Ne konfigurálja a cpu-affinitást a Windows operációs rendszerben, és ne konfigurálja az affinity mask SQL Serverben. Ezek a beállítások ugyanazt az eredményt próbálják elérni, és ha a konfigurációk inkonzisztensek, kiszámíthatatlan eredményeket érhet el. Az SQL Server CPU-affinitása a legjobban az sp_configure SQL Server rendszer által tárolt eljárásával konfigurálható.