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.
Consolider les instances
Cette section se concentre sur la technique d'optimisation des coûts qui consiste à combiner plusieurs instances de SQL serveur sur le même serveur afin de minimiser les coûts de licence et de maximiser l'utilisation des ressources.
Présentation
La création d'une instance fait partie du processus d'installation du moteur de base de données du SQL serveur. L'instance de SQL serveur est une installation complète contenant ses propres fichiers serveur, ses identifiants de sécurité et ses propres bases de données système (master, model, msdb et tempdb). Comme une instance possède ses propres fichiers et services, vous pouvez installer plusieurs instances de SQL serveur sur le même système d'exploitation sans que les instances n'interfèrent les unes avec les autres. Cependant, étant donné que les instances sont toutes installées sur le même serveur, elles partagent toutes les mêmes ressources matérielles, telles que le calcul, la mémoire et le réseau.
Il est courant de n'utiliser qu'une seule SQL instance de serveur par serveur dans les environnements de production afin qu'une instance « occupée » n'abuse pas des ressources matérielles partagées. Donner à chaque instance de SQL serveur son propre système d'exploitation, avec ses propres ressources, est une meilleure limite que de s'appuyer sur la gouvernance des ressources. Cela est particulièrement vrai pour les charges de travail de SQL serveurs à hautes performances qui nécessitent de grandes quantités RAM de CPU ressources.
Cependant, les charges de travail SQL du serveur n'utilisent pas toutes une grande quantité de ressources. Par exemple, certaines organisations attribuent à chacun de leurs clients sa propre instance de SQL serveur dédiée pour des raisons de conformité ou de sécurité. Pour les petits clients ou les clients qui ne sont généralement pas actifs, cela signifie qu'il faut exécuter les instances SQL du serveur avec un minimum de ressources.
Comme indiqué dans le guide Microsoft SQL Server 2019 : Licensing
Scénario d'optimisation des coûts
Cette section explore un exemple de scénario qui compare la différence entre l'exécution de quatre serveurs Windows Server, chacun doté d'une seule instance de SQL serveur, et l'exécution simultanée de plusieurs instances de serveur par un seul serveur Windows SQL Server de plus grande taille.
Si chaque instance de SQL serveur n'a besoin que de deux vCPUs et 8 GoRAM, le coût total par serveur est de 7 890$ pour la licence de SQL serveur, en plus d'un coût de calcul horaire de 0,096$.
EC2instance | vCPUs | RAM | Prix | vCPUs pour obtenir une licence | Coût total des licences SQL du serveur |
---|---|---|---|---|---|
m6i.large | 2 | 8 | 0,096 | 4 | 7 890$ |
En l'étendant à quatre serveurs, le coût total de la licence de SQL serveur est de 31 560 dollars, avec un coût de calcul horaire de 0,384 dollars.
EC2instance | vCPUs | RAM | Prix | vCPUs pour obtenir une licence | Coût total des licences SQL du serveur |
---|---|---|---|---|---|
4 x 6 mm de large | 2 | 32 | 0,384 | 16 | 31 560$ |
Si vous combinez les quatre instances de SQL serveur en une seule EC2 instance, la quantité totale de ressources de calcul et de calcul reste la même. Toutefois, en supprimant les coûts de licence de SQL serveur inutiles, vous pouvez réduire le coût total d'exécution de la charge de travail de 15 780$.
EC2instance | vCPUs | RAM | Prix | vCPUs pour obtenir une licence | Coût total des licences SQL du serveur |
---|---|---|---|---|---|
m6i.2xlarge | 8 | 32 | 0,384 | 8 | 15 780$ |
Note
Dans les tableaux précédents, les coûts de calcul indiquent la tarification horaire à la demande pour EC2 les serveurs Amazon exécutant Windows Server dans la us-east-1
région. Les coûts de licence de l'édition SQL Server Standard font référence à la tarification des SQL serveurs publics de Microsoft
Recommandations d'optimisation des coûts
Si vous envisagez de consolider des instances de SQL serveur, la principale préoccupation est la consommation de ressources pour chacune des instances que vous souhaitez consolider. Il est important d'obtenir des indicateurs de performance sur de longues périodes afin de mieux comprendre les modèles de charge de travail sur chaque serveur. Amazon CloudWatch, Windows Performance Monitor
Nous vous recommandons de vous poser les questions suivantes lorsque vous déterminez si les charges de travail de votre SQL serveur peuvent être combinées pour utiliser les mêmes ressources du serveur sans qu'elles interfèrent les unes avec les autres :
-
Quelles ressources (CPUmémoire et bande passante réseau) sont consommées pendant votre état d'équilibre ?
-
Quelles ressources (CPUmémoire et bande passante réseau) sont consommées pendant les pics ?
-
À quelle fréquence les pics se produisent-ils ? Les pics sont-ils constants ?
-
Les pics de ressources d'un serveur coïncident-ils avec les pics de ressources d'un autre serveur ?
-
Quels sont le stockage IOPSet le débit utilisés par le SQL serveur ?
Si vous souhaitez aller de l'avant avec un plan visant à combiner des instances de SQL serveur, consultez l'article Exécuter plusieurs instances de SQL serveur sur une EC2 instance Amazon
-
L'instance de base de données SQL du serveur par défaut est nommée
MSSQLSERVER
et utilise le port 1433. -
Chaque instance supplémentaire installée sur le même serveur est une instance de base de données « nommée ».
-
Chaque instance nommée possède un nom d'instance et un port uniques.
-
Le navigateur de SQL serveur
doit s'exécuter pour coordonner le trafic vers les instances nommées. -
Chaque instance peut utiliser des emplacements distincts pour les fichiers de données de base de données et des connexions distinctes.
-
Les SQL paramètres de mémoire maximale du serveur
doivent être configurés en fonction des besoins de performance de chaque instance, leur total combiné laissant également suffisamment de mémoire pour le système d'exploitation sous-jacent. -
Vous pouvez utiliser les fonctionnalités natives de sauvegarde et de restauration du SQL
serveur ou AWS DMS pour la migration ou la consolidation.
Ressources supplémentaires
-
SQLFiche technique sur les licences de serveurs
(blog AWS sur les opérations et les migrations dans le cloud) -
SQLArticle de blog sur la configuration d'instances multiples de serveurs (blog
AWS sur les opérations et les migrations dans le cloud) -
SQLGuide des meilleures pratiques en matière de serveurs (documentation AWS prescriptive Guidance)