sql >> Databasteknik >  >> RDS >> Sqlserver

Använder Intel Optane Storage för SQL Server

Grundläggande information om Intel Optane SSD DC P4800X

Intel Optane SSD DC P4800X-serien introducerades under första kvartalet 2017, initialt med en kapacitet på 375 GB och senare med en kapacitet på 750 GB som släpptes senare under 2017. Intel har också nyligen släppt en 1,5 TB version av denna enhet som fortfarande är svår att få in detaljhandelskanalen. Alla dessa enheter använder ett PCIe NVMe 3.0 x4-gränssnitt, och de finns i två olika formfaktorer, den första är ett halvhöjd halvlängd (HHHL) tilläggskort (AIC) som går i en PCIe-expansionsplats, och den andra är en U.2 15 mm formfaktor för 2,5-tumsenheter som ansluts via PCIe 3.0.

Intels 3D XPoint-lagringsteknik skiljer sig fundamentalt från traditionell NAND-blixt. SSD DC P4800X:s höga prestanda vid låga ködjup gör det till en mycket lättare enhet att få ut mycket hög verklig prestanda, speciellt för SQL Server-användning. Intel Optane SSD:er har ungefär 10X lägre latens och 5-8X bättre genomströmning vid låga ködjup jämfört med de snabbaste PCIe NVMe NAND-baserade SSD:erna. De har också högre skrivuthållighet än "skrivintensiv" NAND-flashlagring för företag, och deras prestanda försämras inte eftersom de är nära att vara fulla. De har konsekventa lässvarstider under en mycket tung skrivbelastning, och till skillnad från traditionella NAND-flashenheter, är det ingen prestandaförlust med hårddiskar med mindre kapacitet jämfört med hårddiskar med större kapacitet från samma produktlinje. För arbetsbelastningar med låg latens finns det för närvarande inget som kommer i närheten av Intel Optane SSD DC P4800X.

Specifikationer för Intel Optane SSD DC P4800X

Intel betygsätter Optane SSD DC P4800X-serien till 2500 MB/s för sekventiell läsning, 2200 MB/s för sekventiell skrivning och 550 000 IOPS för både läsning och skrivning. Deras nominella latens är 10 µs (mikrosekunder) för både läsning och skrivning. För jämförelses skull betygsätter Intel den nuvarande generationens 3D-NAND, trippelnivåcell (TLC) SSD DC P4600-serien till 3200 MB/s för sekventiell läsning, 1575 MB/s för sekventiell skrivning och 610 000 IOPS för läsning och 196,650 IOPS skriver. Deras nominella latens är 85 µs för läsning och 15 µs för skrivning.

Nuvarande prissättning är cirka $1200,00 för 375 GB-storleken och cirka $2500,00 för 750GB-storleken. Storleken på 1,5 TB är fortfarande svår att få tag på i detaljhandelskanalen, men priset bör vara ungefär detsamma per GB som hårddiskarna med mindre kapacitet. I de flesta fall vill du skaffa två identiska enheter och sedan skapa en mjukvaru-RAID 1-array med Windows Storage Spaces för att få redundans utan prestandaförlust.

Du bör se till att ladda ner och installera Intel Datacenter NVMe Microsoft Windows-drivrutiner för Intel SSD:er istället för att använda den generiska Microsoft NVMe-drivrutinen. Du kommer också att vilja ladda ner och installera Intel SSD Firmware Update Tool för att se till att du har den senaste firmware installerad på varje Optane-enhet.

Primära användningsscenarier för SQL Server

Dessa prestandaegenskaper gör dessa Intel Optane-kort extremt väl lämpade för många intensiva tempdb-arbetsbelastningar, särskilt tunga OLTP-arbetsbelastningar och situationer där du använder read-committed snapshot isolation (RCSI) på dina användardatabaser (vilket sätter den resulterande versionslagringsbelastningen på tempdb).

Jag har haft fantastiska resultat med dessa Intel Optane SSD DC P4800X-enheter för SQL Server-instanser med extremt krävande tempdb-arbetsbelastningar. Flera nya klienter har flyttat sina tempdb-databasfiler från någon annan typ av lagring till en logisk enhet som backades upp av ett par Intel Optane SSD DC P4800X PCIe NVMe-lagringskort (i en mjukvaru-RAID 1-array). Ett klassiskt användningsfall är att flytta tempdb från delad lagring på ett SAN med en traditionell fail-over-klusterinstans till lokal lagring på varje nod i klustret, vilket du kan göra med SQL Server 2012 och nyare. Ett annat användningsfall är att helt enkelt flytta dina tempdb-filer från sin nuvarande plats till den nya logiska enheten som mappas till din RAID 1 Optane-array på en fristående serverinstans, oavsett vilken version av SQL Server du använder.

Dessa Optane-enheter är relativt billiga och erbjuder den snabbaste tillgängliga typen av traditionell blocklägeslagring, utan någon. De är transparenta för SQL Server och fungerar i alla system som stöder PCIe 3.0 x4-platser som HHHL-tilläggskort eller U.2-anslutna enheter. De kommer också att fungera med äldre versioner av SQL Server (så länge som ditt operativsystem och hårdvara stöder det). Det är ganska vanligt att se hög skrivfördröjning på tempdb-datafiler från sys.dm_io_virtual_file_stats DMV, så att helt enkelt flytta dina tempdb-datafiler till Optane-lagring är ett sätt att direkt lösa problemet, det kan vara snabbare och mycket enklare än konventionell arbetsbelastningsinställning.

Om du ser problem med allokeringsstrider i tempdb (vilket vanligtvis har väldigt lite att göra med den underliggande prestandan för den eller de enheter där tempdb finns), bör du följa vägledningen från Microsofts Pam Lahoud i hennes blogginlägg TEMPDB – Filer och spåra flaggor och uppdateringar, Oh My! Att ha extremt snabb lagring för tempdb kommer indirekt att hjälpa till med allokeringsstrider i tempdb, men det är mycket viktigt att du följer nuvarande Microsoft-riktlinjer angående tempdb-konfiguration, spårningsflaggor och SQL Server-patchning för att mer direkt ta itu med allokeringsstridsproblem i tempdb.

En annan möjlig användning för Intel Optane-lagring är som ett hem för din(a) användardatabas transaktionslogg(er), speciellt om du har flera användardatabaser som har deras transaktionsloggfil placerad på samma logiska enhet eller om du ser höga WRITELOG-väntningar på ditt exempel. Det är ett möjligt alternativ till att använda SQL Server-egenskapen för fördröjd hållbarhet (som kräver SQL Server 2014 och riskerar dataförlust) eller att använda SQL Server persisted log buffer-funktionen (som kräver SQL Server 2016 SP1 och NV-DIMMs för att vara värd för 20 MB transaktionsloggfil "tail of the log").

Jag har också ett par klienter (med mindre databaser) som helt enkelt flyttade ALLA sina användardatabasdata och loggfiler, tillsammans med sina tempdb-filer till Optane-lagring med utmärkta resultat.

CrystalDiskMark-testresultat

Intel gör en avancerad konsumentversion av Optane SSD DC P4800X, som är Intel Optane 900P. De har även en lite nyare och snabbare Intel Optane 905P. Jag har ett 480 GB Intel Optane 900P PCIe-kort i min huvudsakliga AMD Ryzen Threadripper 2950X-arbetsstation, tillsammans med ett äldre NAND-baserat 400 GB Intel SSD 750 PCIe-kort. Ett snabbt CrystalDiskMark-test ger resultaten som visas i figurerna 1 och 2. Det mest relevanta testet är 4K-överföringen med en QD på 1 med 1 exekveringstråd, som visas på den nedre raden.

Figur 1:480 GB Intel Optane 900P-resultat

Figur 2:400 GB Intel SSD 750 PCIe NVMe-resultat

Om du ser hög lagringsfördröjning eller slumpmässiga I/O-flaskhalsar med din arbetsbelastning, kanske du kan få en mycket märkbar prestandaförbättring helt enkelt genom att flytta relevanta SQL Server-filer från där de är nu till Intel Optane-lagring. Detta kan göras för en relativt liten summa pengar, och det kommer att fungera med alla versioner av SQL Server. Detta kan hjälpa dig att få lite extra livslängd från en befintlig äldre server tills du kan uppgradera.


  1. Förenkla kapslade fall när-sats

  2. Installera exempelscheman för Oracle 12c med hjälp av Database Configuration Assistant

  3. Visual Basic för applikationer i Microsoft Access

  4. Autogenererar svarsfil