sql >> Base de Datos >  >> RDS >> Sqlserver

Uso del almacenamiento Intel Optane para SQL Server

Aspectos básicos de Intel Optane SSD DC P4800X

La serie Intel Optane SSD DC P4800X se presentó en el primer trimestre de 2017, inicialmente con una capacidad de 375 GB y luego con una capacidad de 750 GB que se lanzará más adelante en 2017. Intel también lanzó recientemente una versión de 1,5 TB de esta unidad que todavía es difícil de conseguir. el canal minorista. Todas estas unidades usan una interfaz PCIe NVMe 3.0 x4 y vienen en dos factores de forma diferentes, la primera es una tarjeta adicional (AIC) de media altura y media longitud (HHHL) que va en una ranura de expansión PCIe, y el segundo es un factor de forma U.2 de 15 mm para unidades de 2,5" que se conectan a través de PCIe 3.0.

La tecnología de almacenamiento 3D XPoint de Intel es fundamentalmente diferente de la memoria flash NAND tradicional. El alto rendimiento de la SSD DC P4800X con poca profundidad de cola hace que sea una unidad mucho más fácil de obtener un rendimiento muy alto en el mundo real, especialmente para el uso de SQL Server. Las SSD Intel Optane tienen una latencia aproximadamente 10 veces menor y un rendimiento entre 5 y 8 veces mayor a profundidades de cola bajas en comparación con las SSD basadas en PCIe NVMe NAND más rápidas. También tienen una resistencia de escritura más alta que el almacenamiento flash NAND empresarial de "escritura intensiva", y su rendimiento no se deteriora cuando están cerca de estar llenos. Tienen tiempos de respuesta de lectura consistentes bajo una carga de trabajo de escritura muy pesada y, a diferencia de las unidades flash NAND tradicionales, no hay pérdida de rendimiento con unidades de menor capacidad en comparación con unidades de mayor capacidad de la misma línea de productos. Para cargas de trabajo de baja latencia, actualmente no hay nada que se acerque a Intel Optane SSD DC P4800X.

Especificaciones Intel Optane SSD DC P4800X

Intel califica la serie Optane SSD DC P4800X en 2500 MB/s para lecturas secuenciales, 2200 MB/s para escrituras secuenciales y 550 000 IOPS para lecturas y escrituras. Su latencia nominal es de 10 µs (microsegundos) tanto para lectura como para escritura. En aras de la comparación, Intel califica la generación actual 3D-NAND, celda de triple nivel (TLC) SSD DC P4600 Series a 3200 MB/s para lecturas secuenciales, 1575 MB/s para escrituras secuenciales y 610,000 IOPS para lecturas y 196,650 IOPS para escribe Su latencia nominal es de 85 µs para lecturas y 15 µs para escrituras.

El precio actual es de aproximadamente $1200,00 para el tamaño de 375 GB y de aproximadamente $2500,00 para el tamaño de 750 GB. El tamaño de 1,5 TB sigue siendo difícil de conseguir en el canal minorista, pero el precio por GB debería ser aproximadamente el mismo que el de las unidades de menor capacidad. En la mayoría de los casos, deseará obtener dos unidades idénticas y luego crear una matriz RAID 1 de software utilizando espacios de almacenamiento de Windows para obtener redundancia sin pérdida de rendimiento.

Debe asegurarse de descargar e instalar los controladores Intel Datacenter NVMe Microsoft Windows para Intel SSD en lugar de utilizar el controlador genérico Microsoft NVMe. También querrá descargar e instalar la herramienta de actualización de firmware Intel SSD para asegurarse de que tiene instalado el firmware más reciente en cada unidad Optane.

Escenarios de uso de SQL Server primario

Estas características de rendimiento hacen que estas tarjetas Intel Optane sean extremadamente idóneas para muchas cargas de trabajo intensas de tempdb, en particular cargas de trabajo de OLTP intensas y situaciones en las que utiliza aislamiento de instantáneas confirmadas por lectura (RCSI) en sus bases de datos de usuario (lo que coloca la carga de trabajo del almacén de versiones resultante en base de datos temporal).

Obtuve excelentes resultados con estas unidades Intel Optane SSD DC P4800X para instancias de SQL Server con cargas de trabajo tempdb extremadamente exigentes. Varios clientes recientes han movido sus archivos de base de datos tempdb de algún otro tipo de almacenamiento a una unidad lógica respaldada por un par de tarjetas de almacenamiento Intel Optane SSD DC P4800X PCIe NVMe (en una matriz de software RAID 1). Un caso de uso clásico es mover tempdb del almacenamiento compartido en una SAN con una instancia de clúster de conmutación por error tradicional al almacenamiento local en cada nodo del clúster, lo que puede hacer con SQL Server 2012 y versiones posteriores. Otro caso de uso es simplemente mover sus archivos tempdb de su ubicación actual a la nueva unidad lógica que se asigna a su matriz RAID 1 Optane en una instancia de servidor independiente, independientemente de la versión de SQL Server que esté utilizando.

Estas unidades Optane son relativamente económicas y ofrecen el tipo de almacenamiento en modo bloque tradicional más rápido disponible en la actualidad, sin excepción. Son transparentes para SQL Server y funcionarán en cualquier sistema que admita ranuras PCIe 3.0 x4 como tarjetas complementarias HHHL o unidades conectadas U.2. También funcionarán con versiones heredadas de SQL Server (siempre que su sistema operativo y hardware lo admitan). Es bastante común ver una alta latencia de escritura a nivel de archivo en archivos de datos tempdb del DMV sys.dm_io_virtual_file_stats, por lo que simplemente mover sus archivos de datos tempdb al almacenamiento de Optane es una forma de abordar ese problema directamente, que podría ser más rápido y mucho más fácil que ajuste de carga de trabajo convencional.

Si observa problemas de contención de asignación en tempdb (que generalmente tiene muy poco que ver con el rendimiento subyacente de las unidades donde se encuentra tempdb), debe seguir las instrucciones de Pam Lahoud de Microsoft en su publicación de blog TEMPDB - Archivos y Trace Flags y actualizaciones, ¡Dios mío! Tener un almacenamiento extremadamente rápido para tempdb ayudará indirectamente con los problemas de contención de asignación en tempdb, pero es muy importante que siga las instrucciones actuales de Microsoft con respecto a la configuración de tempdb, los indicadores de seguimiento y la aplicación de parches de SQL Server para abordar más directamente los problemas de contención de asignación en tempdb.

Otro posible uso para el almacenamiento Intel Optane es como hogar para los archivos de registro de transacciones de la base de datos de usuario, especialmente si tiene varias bases de datos de usuario que tienen su archivo de registro de transacciones ubicado en la misma unidad lógica o si ve un alto nivel de espera de WRITELOG. tu instancia Es una posible alternativa al uso de la propiedad de durabilidad retrasada de SQL Server (que requiere SQL Server 2014 y tiene un riesgo de pérdida de datos) o al uso de la función de búfer de registro persistente de SQL Server (que requiere SQL Server 2016 SP1 y NV-DIMM para alojar el Archivo de registro de transacciones de "cola del registro" de 20 MB).

También tengo un par de clientes (con bases de datos más pequeñas) que simplemente movieron TODOS sus datos de base de datos de usuario y archivos de registro, junto con sus archivos tempdb al almacenamiento de Optane con excelentes resultados.

Resultados de la prueba CrystalDiskMark

Intel fabrica una versión de consumo de gama alta del Optane SSD DC P4800X, que es el Intel Optane 900P. También tienen un Intel Optane 905P ligeramente más nuevo y más rápido. Tengo una tarjeta PCIe Intel Optane 900P de 480 GB en mi estación de trabajo AMD Ryzen Threadripper 2950X principal, junto con una tarjeta PCIe Intel SSD 750 de 400 GB basada en NAND más antigua. Una prueba rápida de CrystalDiskMark da los resultados que se muestran en las Figuras 1 y 2. La prueba más relevante es la transferencia 4K con un QD de 1 con 1 subproceso de ejecución, como se muestra en la fila inferior.

Figura 1:Resultados Intel Optane 900P de 480 GB

Figura 2:Resultados de 400GB Intel SSD 750 PCIe NVMe

Si observa una alta latencia de almacenamiento o cuellos de botella de E/S aleatorios con su carga de trabajo, puede obtener una mejora de rendimiento muy notable simplemente moviendo los archivos relevantes de SQL Server desde donde están ahora al almacenamiento Intel Optane. Esto se puede hacer por una cantidad de dinero relativamente pequeña y funcionará con cualquier versión de SQL Server. Esto puede ayudarlo a obtener una vida útil adicional de un servidor heredado existente hasta que pueda actualizarlo.