Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utilisation du stockage Intel Optane pour SQL Server

Les bases du SSD Intel Optane DC P4800X

La série Intel Optane SSD DC P4800X a été introduite au premier trimestre de 2017, initialement avec une capacité de 375 Go et plus tard avec une capacité de 750 Go publiée plus tard en 2017. Intel a également récemment publié une version de 1,5 To de ce disque qui est encore difficile à obtenir. le canal de vente au détail. Tous ces disques utilisent une interface PCIe NVMe 3.0 x4, et ils se présentent sous deux facteurs de forme différents, le premier étant une carte d'extension (AIC) demi-hauteur et demi-longueur (HHHL) qui va dans un emplacement d'extension PCIe, et le second étant un facteur de forme U.2 15 mm pour les disques 2,5" qui se connectent via PCIe 3.0.

La technologie de stockage 3D XPoint d'Intel est fondamentalement différente de la mémoire flash NAND traditionnelle. Les hautes performances du SSD DC P4800X à faible profondeur de file d'attente en font un disque beaucoup plus facile à obtenir des performances très élevées dans le monde réel, en particulier pour l'utilisation de SQL Server. Les SSD Intel Optane ont une latence environ 10 fois inférieure et un débit 5 à 8 fois meilleur à faible profondeur de file d'attente par rapport aux SSD PCIe NVMe NAND les plus rapides. Ils ont également une endurance en écriture plus élevée que le stockage flash NAND d'entreprise "intensif en écriture", et leurs performances ne se détériorent pas car ils sont presque pleins. Ils ont des temps de réponse en lecture constants sous une charge de travail d'écriture très lourde, et contrairement aux lecteurs flash NAND traditionnels, il n'y a aucune perte de performances avec des lecteurs de plus petite capacité par rapport aux lecteurs de plus grande capacité de la même gamme de produits. Pour les charges de travail à faible latence, rien ne se rapproche actuellement du SSD Intel Optane DC P4800X.

Spécifications du SSD Intel Optane DC P4800X

Intel évalue la série Optane SSD DC P4800X à 2 500 Mo/s pour les lectures séquentielles, 2 200 Mo/s pour les écritures séquentielles et 550 000 IOPS pour les lectures et les écritures. Leur latence nominale est de 10 µs (microsecondes) pour les lectures et les écritures. À titre de comparaison, Intel évalue la génération actuelle de SSD DC P4600 3D-NAND à cellules à trois niveaux (TLC) à 3 200 Mo/s pour les lectures séquentielles, 1 575 Mo/s pour les écritures séquentielles et 610 000 IOPS pour les lectures et 196 650 IOPS pour les lectures séquentielles. écrit. Leur latence nominale est de 85 µs pour les lectures et de 15 µs pour les écritures.

Le prix actuel est d'environ 1200,00 $ pour la taille de 375 Go et d'environ 2500,00 $ pour la taille de 750 Go. La taille de 1,5 To est encore difficile à obtenir dans le canal de vente au détail, mais le prix devrait être à peu près le même par Go que les disques de plus petite capacité. Dans la plupart des cas, vous souhaiterez obtenir deux disques identiques, puis créer une matrice RAID 1 logicielle à l'aide des espaces de stockage Windows afin d'obtenir une redondance sans aucune perte de performances.

Vous devez vous assurer de télécharger et d'installer les pilotes Intel Datacenter NVMe Microsoft Windows pour les SSD Intel plutôt que d'utiliser le pilote générique Microsoft NVMe. Vous voudrez également télécharger et installer l'outil de mise à jour du micrologiciel Intel SSD pour vous assurer que le dernier micrologiciel est installé sur chaque lecteur Optane.

Scénarios d'utilisation du serveur SQL principal

Ces caractéristiques de performance rendent ces cartes Intel Optane extrêmement bien adaptées à de nombreuses charges de travail tempdb intenses, en particulier les charges de travail OLTP lourdes et les situations où vous utilisez l'isolation d'instantané validée en lecture (RCSI) sur vos bases de données utilisateur (ce qui place la charge de travail résultante du magasin de versions sur tempdb).

J'ai obtenu d'excellents résultats en utilisant ces disques Intel Optane SSD DC P4800X pour les instances SQL Server avec des charges de travail tempdb extrêmement exigeantes. Plusieurs clients récents ont déplacé leurs fichiers de base de données tempdb d'un autre type de stockage vers un lecteur logique soutenu par deux cartes de stockage Intel Optane SSD DC P4800X PCIe NVMe (dans une matrice logicielle RAID 1). Un cas d'utilisation classique consiste à déplacer tempdb d'un stockage partagé sur un SAN avec une instance de cluster de basculement traditionnelle vers un stockage local sur chaque nœud du cluster, ce que vous pouvez faire avec SQL Server 2012 et versions ultérieures. Un autre cas d'utilisation consiste simplement à déplacer vos fichiers tempdb de leur emplacement actuel vers le nouveau lecteur logique qui correspond à votre matrice RAID 1 Optane sur une instance de serveur autonome, quelle que soit la version de SQL Server que vous utilisez.

Ces disques Optane sont relativement peu coûteux et offrent le type de stockage en mode bloc traditionnel le plus rapide actuellement disponible, sans exception. Ils sont transparents pour SQL Server et fonctionneront dans tout système prenant en charge les emplacements PCIe 3.0 x4 en tant que cartes d'extension HHHL ou lecteurs connectés U.2. Ils fonctionneront également avec les versions héritées de SQL Server (tant que votre système d'exploitation et votre matériel le prennent en charge). Il est assez courant de voir une latence d'écriture élevée au niveau des fichiers sur les fichiers de données tempdb à partir du DMV sys.dm_io_virtual_file_stats, donc simplement déplacer vos fichiers de données tempdb vers le stockage Optane est un moyen de résoudre directement ce problème, qui pourrait être plus rapide et beaucoup plus facile que réglage de la charge de travail conventionnel.

Si vous rencontrez des problèmes de conflit d'allocation dans tempdb (ce qui a généralement très peu à voir avec les performances sous-jacentes du ou des lecteurs sur lesquels se trouve tempdb), vous devez suivre les conseils de Pam Lahoud de Microsoft dans son article de blog TEMPDB - Fichiers et Trace Flags and Updates, Oh My! Avoir un stockage extrêmement rapide pour tempdb aidera indirectement à résoudre les problèmes de conflit d'allocation dans tempdb, mais il est très important que vous suiviez les directives actuelles de Microsoft concernant la configuration de tempdb, les indicateurs de trace et les correctifs SQL Server pour résoudre plus directement les problèmes de conflit d'allocation dans tempdb.

Une autre utilisation possible du stockage Intel Optane consiste à héberger les fichiers journaux des transactions de votre base de données utilisateur, en particulier si vous disposez de plusieurs bases de données utilisateur dont le fichier journal des transactions est situé sur le même lecteur logique ou si vous constatez un nombre élevé d'attentes WRITELOG sur votre instance. Il s'agit d'une alternative possible à l'utilisation de la propriété de durabilité retardée de SQL Server (qui nécessite SQL Server 2014 et présente un risque de perte de données) ou à l'utilisation de la fonction de tampon de journal persistant de SQL Server (qui nécessite SQL Server 2016 SP1 et des NV-DIMM pour héberger le Fichier journal des transactions "queue du journal" de 20 Mo).

J'ai également quelques clients (avec des bases de données plus petites) qui ont simplement déplacé TOUTES leurs données de base de données utilisateur et leurs fichiers journaux, ainsi que leurs fichiers tempdb vers le stockage Optane avec d'excellents résultats.

Résultats du test CrystalDiskMark

Intel fabrique une version grand public haut de gamme du SSD Optane DC P4800X, qui est l'Intel Optane 900P. Ils ont également un Intel Optane 905P légèrement plus récent et plus rapide. J'ai une carte PCIe Intel Optane 900P de 480 Go dans mon poste de travail principal AMD Ryzen Threadripper 2950X, ainsi qu'une ancienne carte PCIe Intel SSD 750 de 400 Go basée sur NAND. Un test rapide CrystalDiskMark donne les résultats présentés dans les figures 1 et 2. Le test le plus pertinent est le transfert 4K avec un QD de 1 avec 1 thread d'exécution, comme indiqué dans la rangée du bas.

Figure 1 :480 Go Intel Optane 900P Résultats

Figure 2 :400 Go Intel SSD 750 PCIe NVMe Résultats

Si vous constatez une latence de stockage élevée ou des goulots d'étranglement d'E/S aléatoires avec votre charge de travail, vous pourrez peut-être obtenir une amélioration des performances très notable simplement en déplaçant les fichiers SQL Server pertinents de leur emplacement actuel vers le stockage Intel Optane. Cela peut être fait pour une somme d'argent relativement faible et cela fonctionnera avec n'importe quelle version de SQL Server. Cela peut vous aider à prolonger la durée de vie d'un ancien serveur existant jusqu'à ce que vous puissiez effectuer la mise à niveau.