Partager via


Limites de capacité de calcul par édition de SQL Server

Cette rubrique traite des limites de capacité de calcul pour différentes éditions de SQL Server 2014 et explique comment elles diffèrent dans les environnements physiques et virtualisés avec des processeurs hyperthread.

Correspondances pour calculer les limites de capacité

Le tableau suivant décrit les notations utilisées dans le diagramme ci-dessus :

Valeur Descriptif
0..1 Zéro ou un
1 Un seul
1..* Un ou plus
0..* Zéro ou plus
1..2 Une ou deux

Important

Pour approfondir :

  1. Une machine virtuelle est allouée à un ou plusieurs processeurs virtuels.

  2. Un ou plusieurs processeurs virtuels sont alloués à un seul ordinateur virtuel.

  3. Zéro ou un processeur virtuel est mappé à zéro ou un processeur logique. Lorsque le mappage du processeur virtuel vers le processeur logique est :

    • Un-à-zéro, il représente un processeur logique non lié non utilisé par les systèmes d’exploitation invités.
    • Un-à-plusieurs, il représente un surcommit.
    • Zéro à plusieurs, il représente l’absence de machine virtuelle sur le système hôte, donc aucun processeur logique n’est utilisé par les machines virtuelles.
  4. Un socket est mappé à zéro ou plusieurs noyaux. Lorsque le mappage de socket à cœur est le suivant :

    • Un-à-zéro, il représente un socket vide (aucune puce installée).
    • Individuellement, il représente une puce à un seul cœur installée dans le socket (très rare ces jours-ci).
    • Un-à-plusieurs, il représente un navire multicœur installé dans le socket (les valeurs classiques sont 2,4,8).
  5. Un noyau est mappé à un ou deux processeurs logiques. Lorsque le mappage du cœur au processeur logique est le suivant :

    • Un-à-un, l’hyperthreading est désactivé.
    • Un-à-deux, hyperthreading est activé.

Les définitions suivantes s’appliquent aux termes utilisés dans cette rubrique :

  • Un processeur logique ou thread est un moteur de calcul logique du point de vue de SQL Server, du système d’exploitation, d’une application ou d’un pilote.

  • Un cœur est une unité de processeur, qui peut se composer d’un ou plusieurs processeurs logiques.

  • Un processeur physique peut comprendre un ou plusieurs noyaux. Un processeur physique est identique à un package de processeur ou à un socket.

Les systèmes avec plusieurs processeurs physiques ou systèmes avec des processeurs physiques qui ont plusieurs cœurs et/ou hyperthreads permettent au système d’exploitation d’exécuter plusieurs tâches simultanément. Chaque thread d'exécution apparaît comme un processeur logique. Par exemple, si vous avez un ordinateur doté de deux processeurs à quatre cœurs avec hyperthreading activé et deux threads par cœur, vous avez 16 processeurs logiques : 2 processeurs x 4 cœurs par processeur x 2 threads par cœur. Il vaut la peine de noter que :

  • La capacité de calcul d’un processeur logique à partir d’un seul thread d’un cœur hyperthread est inférieure à la capacité de calcul d’un processeur logique de ce même cœur avec l’hyperthreading désactivé.

  • Toutefois, la capacité de calcul des 2 processeurs logiques dans le cœur hyperthread est supérieure à la capacité de calcul du même cœur avec l’hyperthreading désactivée.

Chaque édition de SQL Server a deux limites de capacité de calcul :

  1. Nombre maximal de sockets (identique au processeur physique, au socket ou au package processeur).

  2. Nombre maximal de cœurs, comme indiqué par le système d’exploitation.

Ces limites s'appliquent à une seule instance de SQL Server. Ils représentent la capacité de calcul maximale qu’une seule instance utilisera. Ils ne limitent pas le serveur sur lequel l’instance peut être déployée. En fait, le déploiement de plusieurs instances de SQL Server sur le même serveur physique est un moyen efficace d’utiliser la capacité de calcul d’un serveur physique avec plus de sockets et/ou de cœurs que les limites de capacité ci-dessous.

Le tableau suivant spécifie les limites de capacité de calcul pour une seule instance de chaque édition de SQL Server 2014 :

Édition de SQL Server Capacité de calcul maximale utilisée par une instance unique (moteur SQL ServerDatabase) Capacité de calcul maximale utilisée par une instance unique (AS, RS)
Édition Entreprise : Licences de base1 Maximum du système d'exploitation Maximum du système d'exploitation
Développeur Maximum du système d'exploitation Maximum du système d'exploitation
Évaluation Maximum du système d'exploitation Maximum du système d'exploitation
Informatique décisionnelle Limité à moins de 4 sockets ou 16 cœurs Maximum du système d'exploitation
Norme Limité à moins de 4 sockets ou 16 cœurs Limité à moins de 4 sockets ou 16 cœurs
Le Web Limité à moins de 4 sockets ou 16 cœurs Limité à moins de 4 sockets ou 16 cœurs
Exprimer Limité à moins de 1 socket ou 4 cœurs Limité à moins de 1 socket ou 4 cœurs
Express with Tools Limité à moins de 1 socket ou 4 cœurs Limité à moins de 1 socket ou 4 cœurs
Service Express avec Services Avancés Limité à moins de 1 socket ou 4 cœurs Limité à moins de 1 socket ou 4 cœurs

1 L’édition Enterprise avec serveur + licences d’accès client (CAL) (non disponibles pour les nouveaux contrats) est limitée à un maximum de 20 cœurs par instance SQL Server. Il n'existe aucune limite dans le mode de licence Serveur selon le nombre de cœurs.

Dans un environnement virtualisé, la limite de capacité de calcul est basée sur le nombre de processeurs logiques, et non sur les cœurs, car l’architecture du processeur n’est pas visible pour les applications invitées. Par exemple, un serveur avec quatre sockets équipés de processeurs quad-cœurs et la possibilité d’activer deux hyperthreads par cœur contient 32 processeurs logiques avec hyperthreading activé, mais seulement 16 processeurs logiques avec hyperthreading désactivé. Ces processeurs logiques peuvent être mappés à des machines virtuelles sur le serveur avec la charge de calcul des machines virtuelles sur ce processeur logique mappé dans un thread d’exécution sur le processeur physique du serveur hôte.

Vous pouvez désactiver l’hyperthreading lorsque les performances par processeur virtuel sont importantes. Vous pouvez activer ou désactiver l’hyperthreading à l’aide d’un paramètre BIOS pour le processeur pendant la configuration du BIOS, mais il s’agit généralement d’une opération délimitée par le serveur qui aura un impact sur toutes les charges de travail en cours d’exécution sur le serveur. Cela peut suggérer de séparer les charges de travail qui s’exécuteront dans des environnements virtualisés de ceux qui bénéficieraient de l’augmentation des performances d’hyperthreading dans un environnement de système d’exploitation physique.

Voir aussi

Éditions et composants de SQL Server 2014
Fonctionnalités prises en charge par les éditions de SQL Server 2014
Spécifications de capacité maximale pour SQL Server
Quick-Start Installation de SQL Server 2014