Inicio Empresa Selección de la mejor configuración de DRAM para SQL Server 2012

Selección de la mejor configuración de DRAM para SQL Server 2012

by kevin obrien

Crear el servidor de producción ideal de Microsoft SQL Server 2012 puede ser una tarea abrumadora, con variables como el almacenamiento, la memoria RAM o la selección del procesador que desconciertan incluso a los administradores de TI experimentados. La última vez que publicamos un análisis sobre la selección de los mejores Procesador Intel Xeon E5-2600 v2 para ejecutar SQL Server 2012 en entornos no virtualizados. Aparte de la CPU, la RAM es otro componente clave cuando se consideran las necesidades de rendimiento de SQL que se ejecuta en hierro. Para esta prueba, utilizamos el mismo banco de pruebas que el estudio del procesador Intel, esta vez centrándonos en mejorar la memoria RAM Micron PC3-12800 con la CPU y el almacenamiento de mejor rendimiento para medir su impacto en el rendimiento. 


Crear el servidor de producción ideal de Microsoft SQL Server 2012 puede ser una tarea abrumadora, con variables como el almacenamiento, la memoria RAM o la selección del procesador que desconciertan incluso a los administradores de TI experimentados. La última vez que publicamos un análisis sobre la selección de los mejores Procesador Intel Xeon E5-2600 v2 para ejecutar SQL Server 2012 en entornos no virtualizados. Aparte de la CPU, la RAM es otro componente clave cuando se consideran las necesidades de rendimiento de SQL que se ejecuta en hierro. Para esta prueba, utilizamos el mismo banco de pruebas que el estudio del procesador Intel, esta vez centrándonos en mejorar la memoria RAM Micron PC3-12800 con la CPU y el almacenamiento de mejor rendimiento para medir su impacto en el rendimiento. 

Hablando tradicionalmente, más RAM para SQL Server ofrece un mayor rendimiento. El aprovechamiento de la memoria RAM adicional reduce el espacio de E/S en una matriz de almacenamiento determinada y también brinda algunos beneficios de almacenamiento en caché. Manteniendo todo igual, analizamos la cantidad de RAM que puede dedicar a SQL Server mientras mantiene un perfil de baja latencia. En este artículo, mostramos el impacto en el rendimiento de asignar 128 GB dedicados a SQL Server, que es donde actualmente probamos los dispositivos para revisiones empresariales, hasta 8 GB.

Banco de pruebas

Para este análisis, estamos evaluando la memoria Micron PC3-12800 DDR3 dentro de un Servidor Supermicro SuperStorage 2027R-AR24NV con Windows Server 2012, que es una caja de dos sockets de 2U que admite la familia de CPU Intel E5-2600 y E5-2600 v2. La RAM del sistema se compone de dieciséis DIMM de 16 GB Micron PC3-12800 que permanecen estáticos para cada prueba. Para cambiar la cantidad de RAM utilizada por SQL Server, cambiamos la configuración de asignación, limitándola a una cantidad seleccionada para cada paso. Aprovechamos los 2.6 TB Fusión ioMemory PX600 para el almacenamiento en el host, que ha publicado muy buenas cifras de latencia de SQL Server (el producto de generación actual más rápido que ha probado nuestro laboratorio).

Configuración del servidor

  • 2 procesadores Intel Xeon E5-2687W v2: caché de 25 M, 3.40 GHz, 8 núcleos
  • Chipset Intel C602
  • Memoria: 256 GB (16x 16 GB) 1600 MHz Micron DDR3 RDIMM registrados (128 GB dedicados al sistema, 8-128 GB dedicados a SQL)
  • Windows Server Standard 2012
  • 3 HBA Supermicro SAS3 (controladores LSI SAS 3008)
  • SSD de arranque Micron P200m de 400 GB
  • 1 adaptador Mellanox ConnectX-3 VPI PCIe 3.0 de dos puertos (InfiniBand LoadGen Fabric)
  • 1 adaptador Emulex OCe11102 de doble puerto de 10 GbE

Configuración de almacenamiento

  • SanDisk Fusion ioMemory PX600 2.6TB
    • 80 % de sobreaprovisionamiento en modo de alto rendimiento
    • Consumo total de energía habilitado
    • Controladores/firmware VSL 4.1.1

Performance

Cada intervalo de paso de RAM especificado se probó de la misma manera: aprovechando nuestro Evaluación comparativa de SQL Server 2012 OLTP con la base de datos ubicada en el PX600 dentro del servidor Supermicro 2P de un solo nodo. Como ocurre con la mayoría de los dispositivos de almacenamiento de la misma clase, no nos preocupamos tanto por las transacciones por segundo; el énfasis está realmente en la latencia para que se complete cada una de esas transacciones.

Como era de esperar, mayores cantidades de RAM asignadas al servidor SQL generaron un mayor rendimiento transaccional. Entre 128 GB y 64 GB, no vimos un gran cambio en TPS. De hecho, la caída entre 96 GB y 64 GB se mantuvo aproximadamente dentro del mismo margen de error. La diferencia de 16 GB a 8 GB generó el mayor cambio, lo que nos dice que 16 GB es probablemente el umbral útil mínimo para esta prueba y configuración de servidor en particular.

Centrándonos en la latencia, vemos lo bien que Fusion ioMemory PX600 mantuvo su rendimiento de baja latencia con los resultados de 128 GB, 96 GB y 64 GB con una puntuación de entre 2 y 3 ms. El menú desplegable a 32 GB aumentó la latencia en un 66 %, pero el siguiente menú desplegable de 16 GB fue mucho más dramático. Ese cambio aumentó la latencia en un 200 %, que luego aumentó otro 153 % cuando la RAM se redujo a 8 GB.

Si bien el impacto del almacenamiento no se mostró como parte de esta prueba, cada paso en la asignación de DRAM redujo drásticamente la carga vista por el dispositivo de almacenamiento en el que residía la base de datos. En resumen, más memoria se traduce en menos solicitudes que llegan al almacenamiento, en lugar de permanecer dentro de la memoria del sistema. Mientras que 128 GB de RAM tenían una carga de fondo de 50 a 100 MB/s, 16 GB aumentaron a 800 MB/s (no durante la actividad de escritura de registro que puede causar grandes picos para cualquier configuración de DRAM). Con un medio de almacenamiento menor, estos resultados serían aún más elevados.

Conclusión

Al armar un servidor SQL no virtualizado de alto rendimiento, hay muchas consideraciones. En el primer artículo analizamos la CPU y su impacto en el rendimiento de SQL. Aquí utilizamos el almacenamiento interno y las CPU de mejor rendimiento para poner a prueba la memoria RAM. Al asociarnos con Micron, realizamos las mismas pruebas, que van desde 8 GB a 128 GB de RAM dedicada a SQL. Los resultados son bastante intuitivos, y generalmente más RAM es mejor en términos de latencia. Sin embargo, hay un punto de quiebre donde la latencia ve un pico dramático en esta configuración. Con 16 GB, la latencia aumenta 3 veces en comparación con 32 GB y con 8 GB, el impacto es aún más grave. Para obtener el mejor rendimiento posible, 128 GB de RAM para SQL con CPU de alta velocidad de reloj y almacenamiento PCIe líder generan una latencia de solo 2 ms. 

Página del producto Crucial/Micron

Selección de la mejor CPU Intel Xeon E5-2600 v2 para SQL Server 2012

Discutir esta revisión