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

Sélection d'un processeur pour SQL Server 2012

Depuis que Microsoft a réorganisé le modèle de licence pour SQL Server 2012, il est particulièrement important de procéder à une analyse approfondie avant de décider exactement quel processeur utiliser pour un serveur de base de données qui exécutera SQL Server 2012. Le passage aux licences basées sur les cœurs pour SQL Server 2012 Enterprise Edition signifie qu'une décision imprudente sur le processeur sur lequel vous allez fonctionner peut coûter à la fois beaucoup d'argent et beaucoup de performances et d'évolutivité. Le même problème existe (dans une moindre mesure) avec SQL Server 2012 Standard Edition.

La différence de coûts de licence SQL Server 2012 entre un bon choix de processeur et un mauvais choix de processeur peut plus que payer votre matériel et votre sous-système de stockage dans de nombreux cas. Compte tenu de cela, comment procédez-vous pour choisir un processeur optimal pour SQL Server 2012 Enterprise Edition ? Normalement, la première étape serait de décider si vous souhaitez utiliser un processeur Intel Xeon ou un processeur AMD Opteron (SQL Server 2012 ne prend pas en charge la famille de processeurs Intel Itanium).

Malheureusement, il est très difficile de faire une bonne analyse de rentabilisation technique ou commerciale pour sélectionner un processeur AMD Opteron à utiliser avec SQL Server 2012 Enterprise Edition. Depuis l'introduction de l'architecture Intel Nehalem (séries Intel Xeon 3500, 5500, 6500 et 7500) en 2008-2010, AMD n'a tout simplement pas été en mesure de rivaliser avec Intel en matière de performances de processeur à un seul thread. AMD n'a pas les ressources financières ou techniques pour concurrencer Intel en termes de performances ou d'efficacité énergétique. Avec chaque nouvelle version de la famille de processeurs d'Intel, AMD prend encore plus de retard. Ce n'est pas une bonne chose pour l'I.T. l'industrie, car l'absence de concurrence viable de la part d'AMD ralentira inévitablement le rythme d'innovation d'Intel.

Étant donné qu'un processeur Intel Xeon semble être le seul choix viable pour SQL Server 2012, l'étape suivante consiste à décider lequel des nombreux modèles et familles Xeon disponibles serait le meilleur choix pour votre charge de travail SQL Server 2012 prévue. Intel propose différentes familles de produits Xeon pour différents serveurs à nombre de sockets. Pour les postes de travail et les serveurs à socket unique, ils disposent de la famille Intel Xeon E3. Pour les postes de travail et les serveurs à deux sockets, ils ont la famille Intel Xeon E5. Enfin, pour les serveurs à deux, quatre et huit sockets (ou plus), ils disposent de la famille Intel Xeon E7.

Étant donné que cet article traite de SQL Server 2012 Enterprise Edition, nous ignorerons la famille Intel Xeon E3 à socket unique, car les processeurs Intel Xeon E3 sont limités à l'utilisation de 32 Go de RAM DDR3. Il existe des scénarios de niche où il peut être très judicieux d'utiliser un processeur Intel Xeon E3-1290V2 dans un serveur à socket unique avec 32 Go de RAM en combinaison avec SQL Server 2012 Enterprise Edition. Vous avez peut-être une base de données relativement petite où vous avez besoin des performances monothread les plus rapides et vous avez également besoin de fonctionnalités spécifiques à Enterprise Edition telles que les groupes de disponibilité SQL Server AlwaysOn.

Le choix le plus courant est entre un serveur à deux sockets et un serveur à quatre sockets (ou plus). Vous allez devoir évaluer la taille et l'intensité de votre charge de travail et décider si elle peut fonctionner sur un serveur à deux sockets plus petit mais plus rapide, ou si vous devrez passer à un serveur à quatre sockets ou plus grand et plus lent. Cette décision est directement affectée par la capacité totale de votre processeur requise, la capacité totale de la RAM physique et la capacité totale d'E/S requise (qui est liée au nombre et au type d'emplacements d'extension PCI-E dans le serveur).

Une idée fausse courante est que les plus gros serveurs basés sur Intel (en termes de nombre de sockets) sont des serveurs plus rapides. Ce n'est tout simplement pas vrai, pour un certain nombre de raisons. Le volume des ventes et la part de marché des serveurs à deux sockets sont beaucoup plus élevés que ceux des serveurs à quatre sockets et plus. Il y a également moins de travail d'ingénierie et de validation requis pour les processeurs Intel à deux sockets par rapport aux processeurs Intel à quatre sockets. En raison de ces facteurs, Intel publie de nouvelles architectures de processeur plus fréquemment et plus tôt pour les serveurs à faible nombre de sockets. Actuellement, la famille E3 à un seul socket d'Intel utilise le Ivy Bridge 22 nm et la famille E5 à deux sockets utilise le Sandy Bridge-EP 32 nm, tandis que la famille Intel E7 utilise l'ancienne microarchitecture Westmere-EX 32 nm.

Une autre raison est que vous n'obtenez pas de mise à l'échelle linéaire lorsque vous augmentez le nombre de sockets, même avec les processeurs d'architecture d'accès à la mémoire non uniforme (NUMA), qui évoluent bien mieux que l'ancienne architecture de multitraitement symétrique (SMP). Cela signifie qu'un serveur à quatre sockets n'aura pas deux fois plus de performances ou de capacité de processeur qu'un serveur à deux sockets avec le même modèle de processeur.

Cela peut être confirmé en comparant les résultats du benchmark TPC-E OLTP des systèmes à deux sockets avec des processeurs Intel Xeon E7-2870 à des systèmes à quatre sockets avec des processeurs Intel Xeon E7-4870 à des systèmes à huit sockets avec des processeurs Intel Xeon E7-8870. Même s'il s'agit essentiellement du même processeur avec les mêmes caractéristiques de performances individuelles, le score de référence TPC-E ne double pas lorsque vous doublez le nombre de sockets, comme vous pouvez le voir dans le tableau 1.

Processeur Nombre de sockets Score TPC-E Nombre total de cœurs Score/noyau TPC-E
Xeon E7-2870

2

1560.70

20

78.04
Xeon E7-4870

4

2862.61

40

71.57
Xeon E7-8870

8

4614.22

80

57.68

Tableau 1 :Comparaison des scores TPC-E à mesure que le nombre de sockets augmente

Quand je pense à comparer des processeurs à un seul socket à deux sockets, à quatre et huit sockets, j'aime utiliser une analogie avec une voiture et un camion. Un serveur à socket unique est comme une voiture de course de Formule 1, étant extrêmement rapide mais ayant très peu de capacité de chargement. Un serveur à deux sockets est comme un Tesla Model S, étant très rapide et ayant une capacité de chargement assez décente. Un serveur à quatre sockets est comme un gros SUV, étant plus lent mais ayant plus de capacité de chargement qu'un Tesla Model S. Enfin, un serveur à huit sockets est comme un camion Mack, capable de transporter une énorme charge à un rythme beaucoup plus lent qu'un VUS.

Processeur Nombre de sockets Score TPC-E Nombre total de cœurs Score/noyau TPC-E
Xeon E5-2690

2

1881.76

16

117.61
Xeon E5-4650

4

2651.27

32

82.85

Tableau 2 :Comparaison des scores TPC-E pour deux modèles de processeur Xeon E5

En comparant le tableau 1 au tableau 2, nous pouvons voir que la famille Intel Xeon E5 fait un peu mieux sur TPC-E que la famille Intel Xeon E7, ce qui n'est pas surprenant, puisque nous comparons le nouveau Sandy Bridge-EP au ancienne microarchitecture Westmere-EX. Du point de vue des performances, le Xeon E5-2690 à deux sockets fait bien mieux que le Xeon E7-2870 à deux sockets. À mon avis, vous ne devriez vraiment pas utiliser le Xeon E7-2870 à deux sockets pour SQL Server 2012 en raison de ses performances monothread inférieures et de son nombre de cœurs physiques plus élevé (ce qui signifie un coût de licence SQL Server 2012 plus élevé).

Actuellement, mon processeur de serveur Intel préféré est le Intel Xeon E5-2690. Il vous offrira d'excellentes performances monothread et des coûts de licence SQL Server 2012 relativement abordables. Si vous devez passer à un serveur à quatre sockets, je choisirais un processeur Intel Xeon E5-4650 au lieu d'utiliser un processeur Intel Xeon E7-4870, car vous obtiendrez de meilleures performances monothread et une licence SQL Server 2012 inférieure. frais. L'utilisation des scores de référence TPC-E est un excellent moyen de comparer les performances et l'efficacité des licences SQL Server 2012 de différentes familles de processeurs.