Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използване на Intel Optane Storage за SQL Server

Основи на Intel Optane SSD DC P4800X

Серията Intel Optane SSD DC P4800X беше представена през първото тримесечие на 2017 г., първоначално с капацитет от 375 GB, а по-късно с капацитет от 750 GB, пуснат по-късно през 2017 г. Intel също така наскоро пусна 1,5 TB версия на това устройство, което все още е трудно за достъп канала за търговия на дребно. Всички тези устройства използват интерфейс PCIe NVMe 3.0 x4 и се предлагат в два различни форм фактора, като първият е карта за добавяне (AIC) с половин височина и половин дължина (HHHL), която влиза в слот за разширение PCIe и вторият е U.2 15 мм форм-фактор за 2,5-инчови устройства, които се свързват чрез PCIe 3.0.

Технологията за съхранение на 3D XPoint на Intel е фундаментално различна от традиционната NAND флаш. Високата производителност на SSD DC P4800X при ниска дълбочина на опашката го прави много по-лесно за извличане на много висока производителност в реалния свят, особено за използване на SQL Server. Intel Optane SSD имат приблизително 10 пъти по-ниска латентност и 5-8 пъти по-добра пропускателна способност при ниски дълбочини на опашката в сравнение с най-бързите PCIe NVMe NAND базирани SSD. Те също така имат по-висока издръжливост на запис в сравнение с „интензивно записване“ корпоративно NAND флаш хранилище и тяхната производителност не се влошава, тъй като са близо до пълни. Те имат постоянно време за реакция при четене при много голямо натоварване при запис и за разлика от традиционните NAND флаш устройства, няма загуба на производителност с устройства с по-малък капацитет в сравнение с устройства с по-голям капацитет от същата продуктова линия. За натоварвания с ниска латентност в момента няма нищо, което да се доближава до Intel Optane SSD DC P4800X.

Спецификации на Intel Optane SSD DC P4800X

Intel оценява серия Optane SSD DC P4800X на 2500 MB/s за последователно четене, 2200 MB/s за последователно записване и 550 000 IOPS както за четене, така и за запис. Тяхната номинална латентност е 10 µs (микросекунди) както за четене, така и за запис. За сравнение, Intel оценява настоящото поколение 3D-NAND, тройно ниво клетка (TLC) SSD DC P4600 Series на 3200 MB/s за последователно четене, 1575 MB/s за последователно записване и 610 000 IOPS за четене и 5 096 IOPS пише. Номиналната им латентност е 85 µs за четене и 15 µs за запис.

Текущата цена е около $1200,00 за размер от 375GB и около $2500,00 за размер от 750GB. Размерът от 1,5 TB все още е трудно да се намери в канала за търговия на дребно, но цената трябва да бъде приблизително същата за GB като дисковете с по-малък капацитет. В повечето случаи ще искате да получите две еднакви устройства и след това да създадете софтуерен RAID 1 масив, използвайки Windows Storage Spaces, за да получите излишък без загуба на производителност.

Трябва да изтеглите и инсталирате драйверите на Intel Datacenter NVMe за Microsoft Windows за Intel SSD дискове, вместо да използвате общия драйвер на Microsoft NVMe. Освен това ще искате да изтеглите и инсталирате инструмента за актуализиране на фърмуера на Intel SSD, за да сте сигурни, че имате най-новия фърмуер, инсталиран на всяко устройство Optane.

Основни сценарии за използване на SQL сървър

Тези характеристики на производителност правят тези карти Intel Optane изключително подходящи за много интензивни натоварвания на tempdb, особено тежки OLTP работни натоварвания и ситуации, в които използвате изолация на моментни снимки с четене (RCSI) във вашите потребителски бази данни (което поставя резултатното работно натоварване на хранилището на версиите върху tempdb).

Постигнах страхотни резултати, използвайки тези Intel Optane SSD DC P4800X устройства за инстанции на SQL Server с изключително взискателни tempdb работни натоварвания. Няколко скорошни клиенти преместиха своите файлове с база данни tempdb от друг тип съхранение на логическо устройство, което беше подкрепено от няколко Intel Optane SSD DC P4800X PCIe NVMe карти за съхранение (в софтуерен RAID 1 масив). Класически случай на използване е преместване на tempdb от споделено хранилище в SAN с традиционен екземпляр на клъстер при отказ към локално съхранение на всеки възел в клъстера, което можете да направите със SQL Server 2012 и по-нова версия. Друг случай на използване е просто да преместите вашите tempdb файлове от текущото им местоположение на новото логическо устройство, което се съпоставя с вашия RAID 1 Optane масив на самостоятелен сървърен екземпляр, независимо коя версия на SQL Server използвате.

Тези устройства Optane са сравнително евтини и предлагат най-бързия наличен в момента тип съхранение в традиционен блоков режим, без никакви. Те са прозрачни за SQL Server и ще работят във всяка система, която поддържа PCIe 3.0 x4 слотове като HHHL карти с добавки или U.2 свързани устройства. Те също така ще работят с наследени версии на SQL Server (стига вашата ОС и хардуер да го поддържат). Доста обичайно е да видите висока латентност при запис на ниво файл на tempdb файлове с данни от sys.dm_io_virtual_file_stats DMV, така че простото преместване на вашите tempdb файлове с данни в хранилището на Optane е един от начините за директно решаване на този проблем, което може да е по-бързо и много по-лесно от конвенционална настройка на натоварването.

Ако виждате проблеми с разпределението в tempdb (което обикновено има много малко общо с основната производителност на устройството(ите), където се намира tempdb), тогава трябва да следвате указанията от Пам Лахуд от Microsoft в нейната публикация в блога TEMPDB – Файлове и Trace флагове и актуализации, о, Боже! Наличието на изключително бързо хранилище за tempdb косвено ще помогне при проблеми със споровете за разпределение в tempdb, но е много важно да следвате текущите насоки на Microsoft относно конфигурацията на tempdb, флаговете за проследяване и корекцията на SQL Server, за да се справите по-пряко с проблемите със споровете за разпределение в tempdb.

Друга възможна употреба на съхранението на Intel Optane е като дом за вашата потребителска база данни с регистрационни файлове за транзакции, особено ако имате множество потребителски бази данни, които имат техния регистрационен файл на транзакциите, разположен на едно и също логическо устройство или ако виждате високо изчакване на WRITELOG вашият екземпляр. Това е възможна алтернатива на използването на свойството за отложена издръжливост на SQL Server (което изисква SQL Server 2014 и има риск от загуба на данни) или използването на функцията за постоянен буфер на лог на SQL Server (което изисква SQL Server 2016 SP1 и NV-DIMM за хостване на 20MB „опашката на дневника“ регистрационен файл на транзакциите).

Имам също така няколко клиента (с по-малки бази данни), които просто преместиха ВСИЧКИ свои потребителски данни от база данни и регистрационни файлове, заедно с техните tempdb файлове в хранилището на Optane с отлични резултати.

Резултати от теста на CrystalDiskMark

Intel прави потребителска версия от висок клас на Optane SSD DC P4800X, която е Intel Optane 900P. Те също имат малко по-нов и по-бърз Intel Optane 905P. Имам 480GB Intel Optane 900P PCIe карта в основната си работна станция AMD Ryzen Threadripper 2950X, заедно с по-стара NAND-базирана 400GB Intel SSD 750 PCIe карта. Бърз тест на CrystalDiskMark дава резултатите, показани на фигури 1 и 2. Най-подходящият тест е 4K трансферът с QD от 1 с 1 нишка на изпълнение, както е показано в долния ред.

Фигура 1:480GB Intel Optane 900P резултати

Фигура 2:400GB Intel SSD 750 PCIe NVMe резултати

Ако виждате голямо забавяне на съхранението или произволни I/O тесни места с вашето работно натоварване, може да успеете да постигнете много забележимо подобрение на производителността, просто като преместите съответните файлове на SQL Server от мястото, където са в момента, в хранилището на Intel Optane. Това може да се направи за сравнително малка сума пари и ще работи с всяка версия на SQL Server. Това може да ви помогне да получите допълнителна продължителност на живота от съществуващ наследен сървър, докато не можете да надстроите.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Примери за преобразуване на „дата“ в „datetimeoffset“ в SQL Server (T-SQL)

  2. Как мога да автоматизирам задачата за генериране на скриптове в SQL Server Management Studio 2008?

  3. Симулирате group_concat MySQL функция в Microsoft SQL Server 2005?

  4. Функцията за дял COUNT() OVER е възможна с помощта на DISTINCT

  5. Как SESSION_CONTEXT() работи в SQL Server