sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af Intel Optane Storage til SQL Server

Grundlæggende oplysninger om Intel Optane SSD DC P4800X

Intel Optane SSD DC P4800X-serien blev introduceret i 1. kvartal af 2017, oprindeligt med en kapacitet på 375 GB og senere med en kapacitet på 750 GB, der frigives senere i 2017. Intel har også for nylig udgivet en 1,5 TB-version af dette drev, som stadig er svær at få ind. detailkanalen. Alle disse drev bruger en PCIe NVMe 3.0 x4-grænseflade, og de kommer i to forskellige formfaktorer, den første er et halvhøjde halvlængde (HHHL) tilføjelseskort (AIC), der går i en PCIe-udvidelsesslot, og den anden er en U.2 15 mm formfaktor til 2,5" drev, der forbindes via PCIe 3.0.

Intels 3D XPoint-lagringsteknologi er fundamentalt forskellig fra traditionel NAND-flash. SSD DC P4800X's høje ydeevne ved lave kødybder gør det til et meget nemmere drev at få meget høj ydelse ud af den virkelige verden, især til brug af SQL Server. Intel Optane SSD'er har omtrent 10X lavere latency og 5-8X bedre gennemløb ved lave kødybder sammenlignet med de hurtigste PCIe NVMe NAND-baserede SSD'er. De har også højere skriveudholdenhed end "skrive-intensive" enterprise NAND flash-lagring, og deres ydeevne forringes ikke, da de er tæt på at være fulde. De har ensartede læsesvartider under en meget stor skrivebelastning, og i modsætning til traditionelle NAND-flashdrev er der intet tab af ydeevne med drev med mindre kapacitet sammenlignet med drev med større kapacitet fra samme produktlinje. For arbejdsbelastninger med lav latens er der i øjeblikket intet, der kommer i nærheden af ​​Intel Optane SSD DC P4800X.

Intel Optane SSD DC P4800X-specifikationer

Intel vurderer Optane SSD DC P4800X-serien til 2500 MB/s for sekventiel læsning, 2200 MB/s for sekventiel skrivning og 550.000 IOPS for både læsning og skrivning. Deres nominelle latenstid er 10 µs (mikrosekunder) for både læsning og skrivning. For sammenligningens skyld vurderer Intel den nuværende generation 3D-NAND, triple-level cell (TLC) SSD DC P4600-serien til 3200 MB/s for sekventiel læsning, 1575 MB/s for sekventiel skrivning og 610.000 IOPS for læsning og 196.650 IOPS skriver. Deres nominelle latenstid er 85 µs for læsning og 15 µs for skrivning.

Den nuværende pris er omkring $1200,00 for 375GB-størrelsen og omkring $2500,00 for 750GB-størrelsen. Størrelsen på 1,5 TB er stadig svær at få i detailkanalen, men prisen bør være omtrent den samme pr. GB som drev med mindre kapacitet. I de fleste tilfælde vil du gerne have to identiske drev og derefter oprette et software-RAID 1-array ved hjælp af Windows Storage Spaces for at få redundans uden tab af ydeevne.

Du bør sørge for at downloade og installere Intel Datacenter NVMe Microsoft Windows-drivere til Intel SSD'er i stedet for at bruge den generiske Microsoft NVMe-driver. Du vil også gerne downloade og installere Intel SSD Firmware Update Tool for at sikre, at du har den nyeste firmware installeret på hvert Optane-drev.

Primære SQL Server-brugsscenarier

Disse ydelseskarakteristika gør disse Intel Optane-kort ekstremt velegnede til mange intense tempdb-arbejdsbelastninger, især tunge OLTP-arbejdsbelastninger og situationer, hvor du bruger read-committed snapshot isolation (RCSI) på dine brugerdatabaser (hvilket sætter den resulterende version Store arbejdsbyrde på tempdb).

Jeg har haft gode resultater ved at bruge disse Intel Optane SSD DC P4800X-drev til SQL Server-instanser med ekstremt krævende tempdb-arbejdsbelastninger. Adskillige nylige klienter har flyttet deres tempdb-databasefiler fra en anden type lagring til et logisk drev, der blev understøttet af et par Intel Optane SSD DC P4800X PCIe NVMe-lagerkort (i et software-RAID 1-array). Et klassisk use case er at flytte tempdb fra delt lagring på et SAN med en traditionel fail-over cluster instans til lokal lagring på hver node i klyngen, hvilket du kan gøre med SQL Server 2012 og nyere. Et andet tilfælde er simpelthen at flytte dine tempdb-filer fra deres nuværende placering til det nye logiske drev, der tilknyttes dit RAID 1 Optane-array på en selvstændig serverinstans, uanset hvilken version af SQL Server du bruger.

Disse Optane-drev er relativt billige og tilbyder den hurtigste aktuelt tilgængelige type traditionel bloktilstandslagring, uden nogen. De er gennemsigtige for SQL Server og vil fungere i ethvert system, der understøtter PCIe 3.0 x4-slots som HHHL-tilføjelseskort eller U.2-forbundne drev. De vil også arbejde med ældre versioner af SQL Server (så længe dit OS og hardware understøtter det). Det er ret almindeligt at se høj skriveforsinkelse på filniveau på tempdb-datafiler fra sys.dm_io_virtual_file_stats DMV, så blot at flytte dine tempdb-datafiler til Optane-lagring er en måde at løse problemet direkte på, som kan være hurtigere og meget nemmere end konventionel justering af arbejdsbelastning.

Hvis du ser problemer med allokeringsstridigheder i tempdb (hvilket normalt har meget lidt at gøre med den underliggende ydeevne af det/de drev, hvor tempdb er placeret), så bør du følge vejledningen fra Microsofts Pam Lahoud i hendes blogindlæg TEMPDB – Files og Spor flag og opdateringer, Oh My! At have ekstremt hurtig lagring til tempdb vil indirekte hjælpe med problemer med allokeringsstridigheder i tempdb, men det er meget vigtigt, at du følger nuværende Microsoft-vejledning vedrørende tempdb-konfiguration, sporingsflag og SQL Server-patching for mere direkte at løse problemer med allokeringsstridigheder i tempdb.

En anden mulig anvendelse for Intel Optane-lagring er som hjemsted for din(e) brugerdatabase transaktionslogfil(er), især hvis du har flere brugerdatabaser, der har deres transaktionslogfil placeret på det samme logiske drev, eller hvis du ser høje WRITELOG-venter på dit eksempel. Det er et muligt alternativ til at bruge SQL Server-egenskaben for forsinket holdbarhed (som kræver SQL Server 2014 og har en risiko for datatab) eller at bruge SQL Server persisted log buffer-funktionen (som kræver SQL Server 2016 SP1 og NV-DIMM'er til hosting af 20MB "hale af loggen" transaktionslogfil).

Jeg har også et par klienter (med mindre databaser), der simpelthen flyttede ALLE deres brugerdatabasedata og logfiler sammen med deres tempdb-filer til Optane-lagring med fremragende resultater.

CrystalDiskMark-testresultater

Intel laver en high-end forbrugerversion af Optane SSD DC P4800X, som er Intel Optane 900P. De har også en lidt nyere og hurtigere Intel Optane 905P. Jeg har et 480 GB Intel Optane 900P PCIe-kort i min primære AMD Ryzen Threadripper 2950X-arbejdsstation sammen med et ældre NAND-baseret 400 GB Intel SSD 750 PCIe-kort. En hurtig CrystalDiskMark-test giver resultaterne vist i figur 1 og 2. Den mest relevante test er 4K-overførslen med en QD på 1 med 1 udførelsestråd, som vist i nederste række.

Figur 1:480 GB Intel Optane 900P-resultater

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

Hvis du ser høj lagringsforsinkelse eller tilfældige I/O-flaskehalse med din arbejdsbyrde, kan du muligvis opnå en meget mærkbar ydelsesforbedring blot ved at flytte de relevante SQL Server-filer, hvorfra de er nu, til Intel Optane-lagring. Dette kan gøres for et relativt lille beløb, og det vil fungere med enhver version af SQL Server. Dette kan hjælpe dig med at få noget ekstra levetid fra en eksisterende ældre server, indtil du er i stand til at opgradere.


  1. Oracle/SQL:Hvorfor forespørger SELECT * FROM records WHERE rownum>=5 AND rownum <=10 - returnerer nul rækker

  2. Java JDBC:dater konsekvent to fridage

  3. SQL server ignorer store og små bogstaver i et where-udtryk

  4. Hvordan forbinder man to tabeller på et fremmednøglefelt ved hjælp af django ORM?