Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Sélectionnez l'EC2instance adaptée aux charges de travail SQL du serveur
Important
Avant de lire cette section, nous vous recommandons de lire d'abord les sections Comprendre les licences SQL du serveur et Sélectionner le type d'instance adapté aux charges de travail Windows de ce guide.
Présentation
Microsoft SQL Server fonctionne sur des instances Amazon Elastic Compute Cloud (AmazonEC2) depuis plus de 15 ans. AWS a tiré parti de cette expérience pour développer des EC2 instances Amazon adaptées aux charges de travail des SQL serveurs, qu'il s'agisse de spécifications minimales ou de clusters multirégionaux à hautes performances.
Le choix de l'EC2instance appropriée pour le SQL serveur dépend largement de votre charge de travail. Comprendre comment SQL Server est licencié, comment il utilise la mémoire et comment les fonctionnalités SQL du serveur s'alignent sur les EC2 offres Amazon peut vous aider à trouver l'EC2instance la mieux adaptée à votre application.
Cette section aborde diverses charges de travail sur les SQL serveurs et explique comment elles peuvent être associées à certaines EC2 instances afin de minimiser vos coûts de licence et de calcul.
Comparaison des coûts
Amazon vous EC2 permet d'apporter votre propre licence (BYOL) ou de payer au fur et à mesure avec les licences Windows SQL Server et Server. Pour les pay-as-you-go licences, les coûts de licence pour les licences Windows SQL Server et Server sont intégrés au coût horaire de l'EC2instance. Par exemple, vous pouvez avoir AMIs des prix différents. Le prix du AMI dépend de l'édition SQL Server sur laquelle il AMI fonctionne.
Les tarifs de Windows SQL Server et Server ne sont pas détaillés. Vous ne trouverez pas de prix détaillés sur des outils tels que le AWS Pricing Calculator
EC2instance | AMI | Calculez le prix | Prix de la licence Windows | SQLprix de licence | Prix total |
---|---|---|---|---|---|
r5.xlarge | Linux (tarification du calcul) | 183,96$ | - | - | 183,96$ |
r5.xlarge | SQLDéveloppeur Linux + | 183,96$ | $0 | $0 | 183,96$ |
r5.xlarge | Windows Server (LI) | 183,96$ | 134,32$ | - | 318,28$ |
r5.xlarge | SQLDéveloppeur Windows + | 183,96$ | 134,32$ | $0 | 318,28$ |
r5.xlarge | Windows + SQL Web (LI) | 183,96$ | 134,32$ | 49,64$ | 367,92$ |
r5.xlarge | Windows + SQL Standard (LI) | 183,96$ | 134,32$ | 350,4$ | 668,68$ |
r5.xlarge | Windows + SQL Entreprise (LI) | 183,96$ | 134,32$ | 1095$ | 1413,28$ |
Note
Les prix indiqués dans le tableau précédent sont basés sur les tarifs à la demande dans la us-east-1
région.
La méthode la plus rentable pour exécuter SQL Server consiste à utiliser une édition de niveau inférieur jusqu'à ce que vous ayez besoin d'une fonctionnalité d'une édition de niveau supérieur. Pour plus d'informations, consultez la section Comparer les éditions du SQL serveur de ce guide. La mise à niveau de l'édition SQL SQL Server Web vers l'édition Server Standard représente plus de sept fois le coût de licence SQL Server et plus de trois fois le coût du passage de l'édition Standard à l'édition Enterprise. La disparité des coûts de licence est un facteur important à prendre en compte et est explorée dans le reste de cette section.
Scénario d'optimisation des coûts
Prenons l'exemple d'un scénario dans lequel une société d'analyse effectuant le suivi des véhicules de livraison cherche à améliorer les performances de son SQL serveur. Après qu'un MACO expert a examiné les problèmes de performance de l'entreprise, celle-ci passe des instances x1e.2xlarge aux instances x2iedn.xlarge. Bien que la taille de l'instance soit plus petite, les améliorations apportées aux instances x2 améliorent les performances et l'optimisation SQL du serveur en utilisant des extensions de pool de mémoire tampon. Cela a permis à l'entreprise de passer de l'édition SQL Server Enterprise à l'édition SQL Server Standard et de réduire ses licences de SQL serveur de 8 vCPUs à 4vCPUs.
Avant l'optimisation :
Serveur | EC2instance | SQLÉdition serveur | Coût mensuel |
---|---|---|---|
Prod DB1 | x1e.2xlarge | Enterprise | 3 918,64$ |
Prod DB2 | x1e.2xlarge | Enterprise | 3 918,64$ |
Total | 7 837,28$ |
Après optimisation :
Serveur | EC2instance | SQLÉdition serveur | Coût mensuel |
---|---|---|---|
Prod DB1 | x2iedn.xlarge | Standard | 1 215,00$ |
Prod DB2 | x2iedn.xlarge | Standard | 1 215,00$ |
Total | 2 430,00$ |
Les modifications combinées des instances x1e.2xlarge aux instances x2iedn.xlarge ont permis au client exemple d'économiser 5 407$ par mois sur ses serveurs de base de données de production. Cela a réduit le coût total de la charge de travail de 69 %.
Note
Les prix indiqués dans le tableau précédent sont basés sur les tarifs à la demande dans la us-east-1
région.
Recommandations d'optimisation des coûts
instances de mémoire optimisée
L'un des aspects les plus importants de SQL Server est de comprendre sa dépendance à l'égard de la mémoire. SQLLe serveur tente d'utiliser toutes les données disponibles qui RAM ne sont pas utilisées par le système d'exploitation (jusqu'à 2 To pour une installation par défaut). Il le fait pour des raisons de performance. Travailler avec des données en mémoire est bien plus performant que de devoir constamment extraire des données du disque, apporter des modifications, puis les réécrire sur le disque. Au lieu de cela, le SQL serveur essaie de charger autant de données que possible à partir des bases de données jointes et conserve ces donnéesRAM. Les modifications apportées aux données sont enregistrées en mémoire et sont ensuite enregistrées sur disque.
Note
Pour une explication détaillée de la façon dont le SQL serveur écrit les modifications, voir Writing Pages
Étant donné que le SQL serveur fonctionne mieux avec de plus grandes quantités deRAM, nous recommandons généralement de commencer par les types d'instances optimisés pour EC2 la mémoire Amazon
Charges de travail inférieures au minimum de ressources (moins de 4vCPUs)
Bien que certains cas d'utilisation fonctionnent bien avec les instances burstables (T3), nous vous recommandons généralement d'éviter d'utiliser des instances burstables pour SQL les charges de travail du serveur. La licence pour le SQL serveur est basée sur le nombre de licences vCPUs attribuées à une instance. Si le SQL serveur est inactif la majeure partie de la journée et qu'il obtient des crédits en rafale, vous payez pour SQL des licences que vous n'utilisez pas pleinement. En outre, le SQL serveur doit disposer d'une licence minimale de 4 cœurs par serveur. Cela signifie que si vous avez une charge de travail de SQL serveur qui ne nécessite pas vCPUs 4 % de puissance de calcul, vous payez une licence de SQL serveur que vous n'utilisez pas. Dans ces scénarios, il serait préférable de consolider plusieurs instances de SQL serveur sur un serveur plus grand.
Charges de travail utilisant un minimum de ressources (moins de 64 GoRAM)
De nombreuses charges de travail de SQL serveurs inférieures à 64 Go RAM ne privilégient ni les hautes performances ni la haute disponibilité. Pour ces types de charges de travail, l'édition SQL Server Web peut être adaptée si l'application est couverte par les restrictions de licence de Microsoft.
Important
SQLL'édition Server Web comporte un cas d'utilisation restreint basé sur les termes de licence de Microsoft. SQLL'édition Web Server ne peut être utilisée que pour prendre en charge les pages Web, les sites Web, les applications Web et les services Web publics et accessibles à Internet. Il ne peut pas être utilisé pour prendre en charge line-of-business des applications (par exemple, la gestion de la relation client, la gestion des ressources d'entreprise et d'autres applications similaires).
SQLL'édition Server Web peut atteindre 32 vCPUs et 64 Go RAM et est 86 % moins chère que l'édition SQL Server Standard. Pour les charges de travail nécessitant peu de ressources, l'utilisation d'une instance optimisée pour la AMD mémoire telle que la r6a, dont le coût de calcul est 10 % inférieur à celui de son homologue Intel, est également un bon moyen de réduire les coûts de calcul et de SQL licence au minimum.
Charges de travail avec des ressources moyennes (moins de 128 GoRAM)
SQLL'édition Server Standard est utilisée pour la majorité des charges de travail de SQL serveur jusqu'à 128 GoRAM. SQLL'édition Server Standard est 65 à 75 % moins chère que l'édition SQL Server Enterprise et peut atteindre 48 vCPUs ou 128 Go. RAM Étant donné que la RAM limite de 128 Go est généralement atteinte avant la CPU limite de 48 V, la plupart des clients souhaitent éviter de passer à l'édition SQL Server Enterprise.
SQLLe serveur possède une fonctionnalité appelée extension du pool de mémoire tampon
Les extensions du pool de mémoire tampon ne remplacent pas le pool normalRAM. Toutefois, si vous avez besoin de plus de 128 Go de mémoire tamponRAM, vous pouvez utiliser des extensions de pool de mémoire tampon avec des EC2 instances telles que r6id.4xlarge et x2iedn.xlarge pour retarder la mise à niveau vers les licences de l'édition Enterprise.
Charges de travail hautes performances (plus de 128 GoRAM)
SQLLes charges de travail des serveurs nécessitant des performances élevées sont difficiles à optimiser en raison de leur dépendance à de nombreuses ressources. Cependant, comprendre les différences entre les EC2 cas peut vous éviter de faire le mauvais choix.
Le tableau suivant présente diverses EC2 instances optimisées pour la mémoire et leurs limites de performances.
r5b | r6idn | r7iz | x2iden | x2iezn | |
---|---|---|---|---|---|
Processeur | 3.1 GHz Processeur Intel Xeon de 2e génération |
3,5 GHz Processeur Intel Xeon de 3e génération |
3.9 GHz Processeur évolutif Intel Xeon de 4e génération |
3,5 GHz Processeur Intel Xeon de 3e génération |
4,5 GHz Processeur Intel Xeon de 2e génération |
CPU: RAM ratio | 1:8 | 1:8 | 1:8 | 1:32 | 1:32 |
Max v CPU | 96 | 128 | 128 | 128 | 48 |
Max RAM | 768 GO | 1 024 GO | 1 024 GO | 4 096 GO | 1 536 GO |
Stockage d'instances | – | NVMe SSD (4 x 1900 Go) |
– | NVMe SSD (2 x 1900 Go) |
– |
io2 Block Express | Pris en charge | Pris en charge | Pris en charge | Pris en charge | – |
Max EBS IOPS | 260 000 | 350 000 | 160 000 | 260 000 | 80 000 |
EBSDébit maximal | 60 Gbit/s | 80 Gbit/s | 40 Gbit/s | 80 Gbit/s | 19 Gbit/s |
Bande passante réseau maximale | 25 Gb/s | 200 Gb/s | 50 Gb/s | 100 Gbit/s | 100 Gbit/s |
Chaque instance est utilisée dans un but différent. Comprendre la charge de travail de votre SQL serveur peut vous aider à choisir le type d'instance qui vous convient le mieux.
Détails sur les attributs :
-
r5b — L'attribut « b » dans r5b signifie que ce type d'instance est axé sur les hautes performances. EBS Dans la cinquième génération d'instances optimisées pour la mémoire, le r5b était le choix préféré. Il s'agit du premier type d'instance à utiliser les volumes io2 Block Express et à atteindre un maximum IOPS de 260 000 unités de stockage. Le type d'instance r5b reste une alternative rentable pour les besoins de hautes EBS performances.
-
r6idn — La sixième génération d'instances optimisées pour la mémoire offrait des améliorations considérables par rapport à la génération précédente. Les améliorations de EBS performances apportées par le r5b vont encore plus loin avec le r6idn, portant le maximum à 350 000. IOPS Le r6idn dispose également d'un volume de stockage d'instance pour les extensions tempdb et de pool de mémoire tampon afin d'améliorer encore les performances du serveur. SQL
-
x2iedn — Le x2iedn est similaire au r6idn. Il offre des niveaux similaires de mise en réseau et de stockage d'NVMeSSDinstance améliorés et améliorés, mais avec un vCPU-to-RAM ratio de 1:32 pour les charges de travail de mémoire élevées et les faibles CPU quantités (coûts de licence de SQL serveur inférieurs). EBS
-
x2iezn — L'attribut « z » dans x2iezn indique que ce type d'instance est axé sur les performances élevées du processeur. Le processeur Cascade Lake possède une fréquence turbo tout-cœur allant jusqu'à 4,5GHz. Nous vous recommandons d'utiliser cette EC2 instance, associée à un vCPU-to-RAM ratio de 1:32, dans un scénario où vous souhaitez maintenir une faible CPU quantité de v. Cela permet à son tour de maintenir les coûts de licence des SQL serveurs à un faible niveau.
-
r7iz — L'attribut « z » dans r7iz indique que ce type d'instance est axé sur les performances élevées du processeur. Le processeur Sapphire Rapids a une fréquence turbo tout-cœur allant jusqu'à 3,9. GHz Comme les instances x2iezn, le r7iz donne la priorité aux performances des processeurs haute fréquence, mais avec un ratio de 1:8. vCPU-to-RAM
Ressources supplémentaires
-
EC2Instances Amazon à usage général
(AWS documentation) -
Outil de comparaison
(Vantage) -
Licences — SQL Serveur
(AWS documentation)