Symptom
I NUMA-miljöer upplever Microsoft SQL Server ett eller flera av följande prestandaproblem:
- En SQL Server process upplever överdriven CPU-användning.
- Det tar lång tid att slutföra frågor.
- Program eller SQL Server Agent jobb upplever frågor time-out eller anslutning time-outs.
- En SQL Server -process startas om av klustertjänsten.
Dessutom kan du uppleva följande symptom:
- Förhöjda värden för SOS_PHYS_PAGE_CACHE väntetyp när du frågar den sys.dm_os_wait_stats dynamiska hanteringsvyn (DMV)
- Förhöjda värden för CMEMTHREAD-väntetypen och SOS_SUSPEND_QUEUE spinlock när du frågar sys.dm_os_spinlock_stats DMV:n
Lösning
Information om kumulativ uppdatering
Problemet åtgärdades först i följande kumulativa uppdatering av SQL Server.
Kumulativ uppdatering 2 för SQL Server 2014 /en-us/help/2967546
Kumulativ uppdatering 1 för SQL Server 2014 /en-us/help/2931693
Kumulativ uppdatering 9 för SQL Server 2012 SP1 /en-us/help/2931078
Om kumulativa uppdateringar för SQL Server
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
- Senaste kumulativa uppdateringen för SQL Server 2014
- Senaste kumulativa uppdateringen för SQL Server 2012 SP1
Information om snabbkorrigeringar
En snabbkorrigering som stöds är tillgänglig från Microsoft. Den här snabbkorrigeringen är dock endast avsedd att åtgärda det problem som beskrivs i den här artikeln. Använd endast den här snabbkorrigeringen på system som har det här specifika problemet.
Om snabbkorrigeringen kan laddas ned finns avsnittet "Nedladdning av snabbkorrigering" längst upp i den här kunskapsbasartikeln. Om det här avsnittet inte visas skickar du en förfrågan till Microsofts kundtjänst och support för att hämta snabbkorrigeringen.
Om ytterligare problem uppstår eller om någon felsökning krävs kan du behöva skapa en separat servicebegäran. Normala supportkostnader tas ut för ytterligare supportfrågor och problem som inte kvalificerar sig för den här specifika snabbkorrigeringen. En fullständig lista över telefonnummer till Microsofts kundtjänst och support eller om du vill skapa en separat servicebegäran finns på följande Microsoft-webbplats:
/contactus/?ws=support Obs! Formuläret "Nedladdning av snabbkorrigering tillgänglig" visar de språk som snabbkorrigeringen är tillgänglig för. Om ditt språk inte visas beror det på att det inte finns någon snabbkorrigering för det språket.
Viktigt! Den här korrigeringen rekommenderas för alla SQL Server instanser som är installerade på ett NUMA-system, oavsett inställningarna för tillhörighetsmask i SQL Server. Den här korrigeringen åtgärdar flaskhalsen i AWAY-bearbetningsprestanda i minneshanteraren för SQL Server.
Problemet åtgärdades först i följande kumulativa uppdatering av SQL Server.
Lösning
Lös de här problemen genom att öka tidsgränsen för inloggning och fråga för dina program.
Obs! Den här lösningen kan ha begränsad effekt. Vi rekommenderar att du använder snabbkorrigeringen för att lösa de problem som beskrivs i avsnittet "Symptom".
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Mer information
När minneshanteraren i Microsoft SQL Server allokerar minne för en nod i NUMA-aktiverade miljöer (Non-Uniform Memory Access) kan Windows allokera minne från både de lokala noderna och fjärrnoderna (kallas "borta" eller "sekundära" sidor) tills önskat mål för varje nod nås. Eftersom dessa "bortasidor" inte är idealiska ur ett prestandaperspektiv försöker SQL Server processen tilldela bortabuffertarna till rätt minnesnod eller släppa tillbaka dessa sidor till operativsystemet. Den här "BORTA-bearbetningen" kan vara CPU-intensiv och leda till en minskning av batchhastigheten under en period med ökad CPU-användning.
Referenser
Mer information om hur du förstår konceptet med utländska sidor finns på följande webbplats för MSDN-blogginlägg:
Så här fungerar det: SQL Server (NUMA lokala, utländska och borta minnesblock)