sql >> Database >  >> RDS >> Sqlserver

Intel Optane Storage voor SQL Server gebruiken

Intel Optane SSD DC P4800X basisprincipes

De Intel Optane SSD DC P4800X-serie werd geïntroduceerd in het eerste kwartaal van 2017, aanvankelijk met een capaciteit van 375 GB en later met een capaciteit van 750 GB die later in 2017 wordt uitgebracht. Intel heeft onlangs ook een versie van 1,5 TB van deze schijf uitgebracht die nog steeds moeilijk te krijgen is het retailkanaal. Al deze schijven gebruiken een PCIe NVMe 3.0 x4-interface, en ze zijn er in twee verschillende vormfactoren, de eerste is een half-height half-length (HHHL) add-in card (AIC) die in een PCIe-uitbreidingsslot past, en de tweede is een U.2 15 mm-vormfactor voor 2,5-inch schijven die verbinding maken via PCIe 3.0.

Intel's 3D XPoint-opslagtechnologie verschilt fundamenteel van traditionele NAND-flash. De hoge prestaties van de SSD DC P4800X bij lage wachtrijdieptes maken het een veel gemakkelijkere schijf om zeer hoge real-world prestaties uit te halen, vooral voor SQL Server-gebruik. Intel Optane SSD's hebben ongeveer 10x lagere latentie en 5-8x betere doorvoer bij lage wachtrijdieptes in vergelijking met de snelste PCIe NVMe NAND-gebaseerde SSD's. Ze hebben ook een hoger schrijfuithoudingsvermogen dan "schrijfintensieve" enterprise NAND-flashopslag, en hun prestaties verslechteren niet omdat ze bijna vol zijn. Ze hebben consistente leesresponstijden bij een zeer zware schrijfbelasting, en in tegenstelling tot traditionele NAND-flashdrives is er geen prestatieverlies met schijven met een kleinere capaciteit in vergelijking met schijven met een grotere capaciteit van dezelfde productlijn. Voor workloads met lage latentie is er momenteel niets dat in de buurt komt van de Intel Optane SSD DC P4800X.

Intel Optane SSD DC P4800X-specificaties

Intel beoordeelt de Optane SSD DC P4800X-serie op 2500 MB/s voor sequentiële leesbewerkingen, 2200 MB/s voor sequentiële schrijfbewerkingen en 550.000 IOPS voor zowel lees- als schrijfbewerkingen. Hun nominale latentie is 10 µs (microseconden) voor zowel lezen als schrijven. Ter vergelijking:Intel beoordeelt de huidige generatie 3D-NAND, triple-level cell (TLC) SSD DC P4600-serie op 3200 MB/s voor sequentiële leesbewerkingen, 1575 MB/s voor sequentiële schrijfbewerkingen en 610.000 IOPS voor leesbewerkingen en 196.650 IOPS voor schrijft. Hun nominale latentie is 85 µs voor lezen en 15 µs voor schrijven.

De huidige prijs is ongeveer $ 1200,00 voor de grootte van 375 GB en ongeveer $ 2500,00 voor de grootte van 750 GB. Het formaat van 1,5 TB is nog steeds moeilijk te krijgen in het winkelkanaal, maar de prijs zou ongeveer hetzelfde moeten zijn per GB als de schijven met kleinere capaciteit. In de meeste gevallen wilt u twee identieke schijven aanschaffen en vervolgens een software RAID 1-array maken met behulp van Windows Storage Spaces om redundantie te krijgen zonder prestatieverlies.

Zorg ervoor dat u de Intel Datacenter NVMe Microsoft Windows-stuurprogramma's voor Intel SSD's downloadt en installeert in plaats van het generieke Microsoft NVMe-stuurprogramma te gebruiken. U zult ook de Intel SSD Firmware Update Tool willen downloaden en installeren om er zeker van te zijn dat de nieuwste firmware op elke Optane-schijf is geïnstalleerd.

Primaire SQL Server-gebruiksscenario's

Deze prestatiekenmerken maken deze Intel Optane-kaarten uitermate geschikt voor veel intense tempdb-workloads, met name zware OLTP-workloads en situaties waarin u read-committed snapshot isolation (RCSI) op uw gebruikersdatabases gebruikt (waardoor de resulterende workload van de versieopslag op tempdb).

Ik heb geweldige resultaten behaald met het gebruik van deze Intel Optane SSD DC P4800X-schijven voor SQL Server-instanties met extreem veeleisende tempdb-workloads. Verschillende recente klanten hebben hun tempdb-databasebestanden verplaatst van een ander type opslag naar een logische schijf die werd ondersteund door een paar Intel Optane SSD DC P4800X PCIe NVMe-opslagkaarten (in een software RAID 1-array). Een klassiek gebruiksvoorbeeld is het verplaatsen van tempdb van gedeelde opslag op een SAN met een traditionele failover-clusterinstantie naar lokale opslag op elk knooppunt in het cluster, wat u kunt doen met SQL Server 2012 en nieuwer. Een ander gebruiksvoorbeeld is het simpelweg verplaatsen van uw tempdb-bestanden van hun huidige locatie naar de nieuwe logische schijf die wordt toegewezen aan uw RAID 1 Optane-array op een stand-alone serverinstantie, ongeacht welke versie van SQL Server u gebruikt.

Deze Optane-schijven zijn relatief goedkoop en bieden het snelst beschikbare type traditionele blokmodusopslag, zonder uitzondering. Ze zijn transparant voor SQL Server en werken in elk systeem dat PCIe 3.0 x4-slots ondersteunt als HHHL-invoegkaarten of U.2 aangesloten schijven. Ze werken ook met oudere versies van SQL Server (zolang uw besturingssysteem en hardware dit ondersteunen). Het is vrij gebruikelijk om een ​​hoge schrijflatentie op bestandsniveau te zien op tempdb-gegevensbestanden van de sys.dm_io_virtual_file_stats DMV, dus het simpelweg verplaatsen van uw tempdb-gegevensbestanden naar Optane-opslag is een manier om dat probleem direct aan te pakken, dat kan sneller en veel gemakkelijker zijn dan conventionele afstemming van de werklast.

Als je problemen met toewijzingsconflicten ziet in tempdb (wat meestal weinig te maken heeft met de onderliggende prestaties van de schijf(en) waar tempdb zich bevindt), volg dan de richtlijnen van Microsoft's Pam Lahoud in haar blogpost TEMPDB – Bestanden en traceer vlaggen en updates, oh my! Het hebben van extreem snelle opslag voor tempdb zal indirect helpen bij toewijzingsconflicten in tempdb, maar het is erg belangrijk dat u de huidige Microsoft-richtlijnen volgt met betrekking tot tempdb-configuratie, traceringsvlaggen en SQL Server-patching om problemen met toewijzingsconflicten in tempdb directer aan te pakken.

Een ander mogelijk gebruik voor Intel Optane-opslag is als een thuis voor uw gebruikersdatabase transactielogbestand(en), vooral als u meerdere gebruikersdatabases heeft waarvan het transactielogbestand zich op hetzelfde logische station bevindt of als u veel ziet WRITELOG wacht op uw exemplaar. Het is een mogelijk alternatief voor het gebruik van de SQL Server-eigenschap voor vertraagde duurzaamheid (waarvoor SQL Server 2014 vereist is en het risico op gegevensverlies bestaat) of voor het gebruik van de SQL Server persistent log buffer-functie (waarvoor SQL Server 2016 SP1 en NV-DIMM's nodig zijn voor het hosten van de 20 MB "staart van het logboek" transactielogbestand).

Ik heb ook een aantal klanten (met kleinere databases) die eenvoudig AL hun gebruikersdatabasegegevens en logbestanden, samen met hun tempdb-bestanden, naar Optane-opslag hebben verplaatst met uitstekende resultaten.

CrystalDiskMark-testresultaten

Intel maakt een high-end consumentenversie van de Optane SSD DC P4800X, de Intel Optane 900P. Ze hebben ook een iets nieuwere en snellere Intel Optane 905P. Ik heb een Intel Optane 900P PCIe-kaart van 480 GB in mijn AMD Ryzen Threadripper 2950X-werkstation, samen met een oudere NAND-gebaseerde 400 GB Intel SSD 750 PCIe-kaart. Een snelle CrystalDiskMark-test geeft de resultaten die worden weergegeven in afbeeldingen 1 en 2. De meest relevante test is de 4K-overdracht met een QD van 1 met 1 uitvoeringsdraad, zoals weergegeven in de onderste rij.

Figuur 1:480 GB Intel Optane 900P-resultaten

Figuur 2:400 GB Intel SSD 750 PCIe NVMe-resultaten

Als u een hoge opslaglatentie of willekeurige I/O-knelpunten met uw werkbelasting ziet, kunt u mogelijk een zeer merkbare prestatieverbetering krijgen door simpelweg de relevante SQL Server-bestanden te verplaatsen van waar ze zich nu bevinden naar Intel Optane-opslag. Dit kan voor een relatief klein bedrag, en het werkt met elke versie van SQL Server. Dit kan je helpen om wat extra levensduur te krijgen van een bestaande legacy-server totdat je in staat bent om te upgraden.


  1. Oproep naar een lidfunctie execute() op boolean in

  2. Hoe krijg ik het eerste record in elke groep in MySQL

  3. Een PostgreSQL-database exporteren met phpPgAdmin

  4. Gesimuleerde OLAP