sql >> Base de Datos >  >> RDS >> Sqlserver

Selección de un procesador para SQL Server 2012

Dado que Microsoft renovó el modelo de licencias para SQL Server 2012, es especialmente importante realizar un análisis cuidadoso antes de decidir exactamente qué procesador usar para un servidor de base de datos que ejecutará SQL Server 2012. El cambio a licencias basadas en núcleo para SQL Server 2012 Enterprise Edition significa que una decisión descuidada sobre qué procesador exactamente utilizará puede costar una gran cantidad de dinero y una gran cantidad de rendimiento y escalabilidad. El mismo problema existe (en menor medida) con SQL Server 2012 Standard Edition.

La diferencia en los costos de licencia de SQL Server 2012 entre una buena elección de procesador y una mala elección de procesador puede pagar con creces su hardware y su subsistema de almacenamiento en muchos casos. Dado esto, ¿cómo hace para elegir un procesador óptimo para SQL Server 2012 Enterprise Edition? Normalmente, el primer paso sería decidir si desea utilizar un procesador Intel Xeon o un procesador AMD Opteron (SQL Server 2012 no es compatible con la familia de procesadores Intel Itanium).

Desafortunadamente, es muy difícil hacer un buen caso técnico o comercial para seleccionar un procesador AMD Opteron para usar con SQL Server 2012 Enterprise Edition. Desde la introducción de la arquitectura Intel Nehalem (series Intel Xeon 3500, 5500, 6500 y 7500) en 2008-2010, AMD simplemente no ha podido competir con Intel en lo que respecta al rendimiento del procesador de subproceso único. AMD no tiene los recursos financieros o técnicos para competir con Intel en términos de rendimiento o eficiencia energética. Con cada lanzamiento de la nueva familia de procesadores de Intel, AMD se ha quedado más atrás. Esto no es bueno para el departamento de TI. industria, ya que la falta de competencia viable de AMD inevitablemente ralentizará el ritmo de innovación de Intel.

Dado que un procesador Intel Xeon parece ser la única opción viable para SQL Server 2012, el siguiente paso es decidir cuál de las muchas familias y modelos Xeon disponibles sería la mejor opción para la carga de trabajo prevista de SQL Server 2012. Intel tiene diferentes familias de productos Xeon para diferentes servidores de recuento de sockets. Para estaciones de trabajo y servidores de un solo socket tienen la familia Intel Xeon E3. Para estaciones de trabajo y servidores de dos sockets tienen la familia Intel Xeon E5. Finalmente, para servidores de dos, cuatro y ocho sockets (o más), tienen la familia Intel Xeon E7.

Dado que este artículo trata sobre SQL Server 2012 Enterprise Edition, ignoraremos la familia Intel Xeon E3 de un solo socket, ya que los procesadores Intel Xeon E3 están limitados a usar 32 GB de RAM DDR3. Hay algunos escenarios de nicho en los que podría tener mucho sentido usar un procesador Intel Xeon E3-1290V2 en un servidor de un solo socket con 32 GB de RAM en combinación con SQL Server 2012 Enterprise Edition. Tal vez tenga una base de datos relativamente pequeña en la que necesite el rendimiento de subproceso único más rápido absoluto y también necesite funciones específicas de Enterprise Edition, como SQL Server AlwaysOn Availability Groups.

La opción más común es entre un servidor de dos sockets y un servidor de cuatro sockets (o más). Tendrá que evaluar el tamaño y la intensidad de su carga de trabajo y decidir si puede ejecutarse en un servidor de dos sockets más pequeño pero más rápido, o si tendrá que dar el salto a un servidor de cuatro sockets más grande y más lento o más grande. Esta decisión se ve directamente afectada por la capacidad de CPU total requerida, la capacidad de RAM física total y la capacidad de E/S total requerida (que está relacionada con la cantidad y el tipo de ranuras de expansión PCI-E en el servidor).

Un concepto erróneo común es que los servidores más grandes basados ​​en Intel (en términos de número de sockets) son servidores más rápidos. Esto simplemente no es cierto, por varias razones. El volumen de ventas y la cuota de mercado de los servidores de dos sockets es mucho mayor que el de los servidores de cuatro sockets o más grandes. También se requiere menos trabajo de ingeniería y validación para los procesadores Intel con capacidad para dos sockets en comparación con los procesadores Intel con capacidad para cuatro sockets. Debido a estos factores, Intel lanza nuevas arquitecturas de procesadores con más frecuencia y antes para servidores con menor número de sockets. Actualmente, la familia E3 de un solo socket de Intel usa Ivy Bridge de 22 nm y la familia E5 de dos sockets usa Sandy Bridge-EP de 32 nm, mientras que la familia Intel E7 usa la antigua microarquitectura Westmere-EX de 32 nm.

Otra razón es que no obtiene una escala lineal a medida que aumenta el número de sockets, incluso con procesadores de arquitectura de acceso a memoria no uniforme (NUMA), que se escalan mucho mejor que la antigua arquitectura de multiprocesamiento simétrico (SMP). Esto significa que un servidor de cuatro sockets no tendrá el doble de rendimiento o capacidad de procesador que un servidor de dos sockets con el mismo modelo de procesador.

Esto se puede confirmar comparando los resultados de referencia de TPC-E OLTP de sistemas de dos zócalos con procesadores Intel Xeon E7-2870 con sistemas de cuatro zócalos con procesadores Intel Xeon E7-4870 y sistemas de ocho zócalos con procesadores Intel Xeon E7-8870. A pesar de que estos son esencialmente el mismo procesador con las mismas características de rendimiento individuales, el puntaje de referencia de TPC-E no se duplica a medida que se duplica el número de zócalos, como puede ver en la Tabla 1.

Procesador Recuento de sockets Puntuación TPC-E Recuento total de núcleos Puntuación/Núcleo de 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

Tabla 1:Comparación de las puntuaciones de TPC-E a medida que aumenta el recuento de sockets

Cuando pienso en comparar procesadores de un solo zócalo con dos zócalos, cuatro y ocho zócalos, me gusta usar una analogía de automóvil y camión. Un servidor de un solo socket es como un coche de carreras de Fórmula 1, es extremadamente rápido pero tiene muy poca capacidad de carga. Un servidor de dos sockets es como un Tesla Model S, es muy rápido y tiene una capacidad de carga bastante decente. Un servidor de cuatro sockets es como un SUV grande, es más lento pero tiene más capacidad de carga que un Tesla Model S. Finalmente, un servidor de ocho sockets es como un camión Mack, capaz de transportar una carga enorme a un ritmo mucho más lento que un servidor. todoterreno.

Procesador Recuento de sockets Puntuación TPC-E Recuento total de núcleos Puntuación/Núcleo de TPC-E
Xeon E5-2690

2

1881.76

16

117.61
Xeon E5-4650

4

2651.27

32

82,85

Tabla 2:Comparación de puntajes TPC-E para dos modelos de procesadores Xeon E5

Al comparar la Tabla 1 con la Tabla 2, podemos ver que la familia Intel Xeon E5 funciona un poco mejor en TPC-E que la familia Intel Xeon E7, lo cual no sorprende, ya que estamos comparando el Sandy Bridge-EP más nuevo con el microarquitectura Westmere-EX más antigua. Desde una perspectiva de rendimiento, el Xeon E5-2690 de dos zócalos funciona mucho mejor que el Xeon E7-2870 de dos zócalos. En mi opinión, no debería usar el Xeon E7-2870 de dos sockets para SQL Server 2012 debido a su menor rendimiento de subproceso único y mayor cantidad de núcleos físicos (lo que significa un mayor costo de licencia de SQL Server 2012).

Actualmente, mi procesador de servidor Intel favorito es el Intel Xeon E5-2690. Le brindará un excelente rendimiento de subproceso único y costos de licencia de SQL Server 2012 relativamente asequibles. Si necesita pasar a un servidor de cuatro zócalos, elegiría un procesador Intel Xeon E5-4650 en lugar de usar un procesador Intel Xeon E7-4870, ya que obtendrá un mejor rendimiento de subproceso único y una licencia de SQL Server 2012 más baja. costos El uso de las puntuaciones comparativas de TPC-E es una forma excelente de comparar el rendimiento y la eficiencia de la licencia de SQL Server 2012 de diferentes familias de procesadores.