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

Azure Virtual Machines para el uso de SQL Server

Un primer paso sencillo para mover sus cargas de trabajo locales de SQL Server a la nube es usar máquinas virtuales de Azure para ejecutar sus cargas de trabajo de SQL Server en un escenario de infraestructura como servicio (IaaS). Esto elimina la carga de comprar y mantener su infraestructura de red, almacenamiento y hardware, al mismo tiempo que le brinda una experiencia muy familiar con Windows y SQL Server.

Aún tendrá que mantener su sistema operativo, SQL Server y bases de datos como lo haría en un escenario local. A cambio de esto, sus bases de datos y aplicaciones funcionarán de la misma manera que lo harían en una instalación local, lo que hace que esta sea una manera fácil de comenzar a usar Azure.

Una elección importante que aún tendrá que hacer es qué tipo y tamaño de máquina virtual de Azure desea usar para su carga de trabajo existente de SQL Server. A diferencia de un escenario local, tendrá mucho menos control sobre la elección real del procesador en la máquina host subyacente. Con una máquina virtual de Azure, elige una serie de máquinas en particular (como una serie Esv3) y un tamaño en una región de Azure en particular, y luego obtiene el procesador que Microsoft usa para esa serie y tamaño en esa región de Azure.

Tipos y series de máquinas virtuales de Azure

Actualmente, Microsoft tiene ocho tipos principales de máquinas virtuales diseñadas para diferentes tipos de cargas de trabajo. Estos incluyen nivel de entrada, propósito general, computación optimizada, memoria optimizada, almacenamiento optimizado, GPU, computación de alto rendimiento y enclave seguro confidencial.

Para las cargas de trabajo de OLTP SQL Server de alto rendimiento, el tipo optimizado de memoria de máquinas virtuales de Azure suele ser la mejor opción. Según Microsoft, "los tamaños de VM optimizados para memoria ofrecen una alta relación memoria-CPU que son excelentes para servidores de bases de datos relacionales". Esto le brinda un menor número de núcleos, con más memoria, que generalmente es lo que desea para SQL Server, para minimizar sus costos de licencia y aún así tener un buen rendimiento.

Puede ir aún más lejos en este camino con tamaños de VM con capacidad de vCPU restringidos, donde puede restringir el recuento de vCPU de VM (a la mitad o una cuarta parte del tamaño de VM original) para reducir el costo de las licencias de SQL Server, mientras mantiene la misma memoria. , almacenamiento y ancho de banda de E/S como una máquina virtual sin restricciones. Estas máquinas virtuales de Azure restringidas tienen un sufijo en el nombre que indica la cantidad de vCPU activas en la máquina virtual.

Por ejemplo:un Standard_E64s_v3 regular tendría 64 núcleos de vCPU, mientras que un Standard_E64-16s_v3 restringido tendría solo 16 núcleos de vCPU con especificaciones idénticas. El sufijo -16s indica la cantidad de núcleos de vCPU activos.

Serie Esv3

Esta serie utiliza el procesador Intel Xeon Platinum 8171M (Skylake-SP) de 2,1 GHz, que es un SKU de procesador especial a medida que no se encuentra en la base de datos pública de Intel ARK. Parece tener especificaciones idénticas al procesador 26C/52T 2.1 GHz Intel Xeon Platinum 8170M (Skylake-SP). El sufijo M en el número de modelo significa que admite 1,5 TB de RAM por zócalo en lugar de 768 GB de RAM por zócalo. La serie Esv3 tiene una clasificación de 160-190 unidades de cómputo de Azure (ACU).

Nota:En algunas regiones, Microsoft utiliza el procesador personalizado Intel Xeon E5-2673 v4 (Broadwell) más antiguo en la serie Esv3. Mine Tokus de Microsoft tiene un buen artículo en el que ejecutó una serie de puntos de referencia de TPC-E reducidos en comparación con una máquina virtual E64s_v3 que usaba el procesador Broadwell más antiguo.

La serie Esv3 comienza con un Standard_E2s_v3 con 2 vCPU y 16 GB de RAM, y llega al tope de un Standard_E64is_v3 con 64 vCPU y 432 GB de RAM. También existen grandes diferencias en la capacidad de almacenamiento y el rendimiento entre estos extremos. Por cierto, la "i" en el nombre Standard_E64is_v3 significa que la instancia está aislada del hardware dedicado a un solo cliente. La mayoría de los tamaños regulares de la serie Esv3 también están disponibles como máquinas virtuales restringidas, lo que le brinda mucha flexibilidad para el dimensionamiento.

Si compara de cerca las Figuras 1 y 2, verá un conjunto de opciones mucho más favorable para el recuento de vCPU, la cantidad de RAM y el rendimiento máximo del disco sin caché con las opciones de VM restringidas en la Figura 2.

Figura 1:Especificaciones de la serie Esv3 normal (haga clic para ampliar)

En particular, me gustan los tamaños Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 y Standard_E64-16s_v3 para SQL Server, ya que tienen una combinación extremadamente buena de recuentos de núcleos relativamente bajos, alta capacidad de memoria y alto rendimiento del disco en comparación con el otras opciones disponibles en esta serie.

Todas estas son ofertas restringidas que usan solo una cuarta parte de los núcleos de vCPU disponibles de la oferta regular. Las otras opciones en la Figura 2 usan la mitad de los núcleos de vCPU disponibles de la oferta regular, con los mismos límites de memoria y rendimiento del disco, lo que duplicaría el costo de su licencia con menor RAM y rendimiento del disco de lo que podría obtener con una mejor opción .

Figura 2:Especificaciones restringidas de la serie Esv3 (haga clic para ampliar)

Por ejemplo, compare las tres posibles opciones de VM que se muestran en la Figura 3. Al elegir sabiamente entre las opciones restringidas en un recuento de vCPU en particular, puede obtener entre 2 y 4 veces el rendimiento de la memoria y el disco por el mismo costo de licencia de SQL Server.

Tenga en cuenta que el costo de cómputo, que incluye la licencia del sistema operativo, sigue siendo el mismo que el tamaño original de vCPU del que se derivó el tamaño restringido.

Figura 3:Especificaciones comparativas de 8 vCPU de la serie Esv3 (haga clic para ampliar)

Serie Esv4

Otra opción adecuada para cargas de trabajo OLTP y DW es la serie Esv4. Estas máquinas virtuales utilizan el nuevo procesador AMD EPYC 7452 (Rome) de 7 nm y 2,35 GHz. Este procesador tiene 32C/64T, un reloj base de 2,35 GHz, un reloj de impulso máximo de hasta 3,35 GHz, 128 MB de caché L3, 128 carriles PCIe 4.0 y 2 TB de capacidad de RAM. Las máquinas virtuales de Azure de esta serie comienzan con Standard_E2as_v4 con 2 vCPU y 16 GB de RAM, y terminan con Standard_E96as_v4 con 96 vCPU y 672 GB de RAM. La serie Esv4 tiene una clasificación de 230-260 unidades de cómputo de Azure (ACU).

El procesador AMD EPYC 7452 es significativamente más rápido para el rendimiento de la CPU de un solo subproceso que el procesador Intel Xeon Platinum 8171M según mis cálculos de puntuación TPC-E estimados. AMD EPYC 7452 tiene un puntaje/núcleo TPC-E estimado de 67,64, mientras que Intel Xeon Platinum 8171M tiene un puntaje/núcleo TPC-E estimado de 49,55. Creo que esto se debe al IPC más alto y a la velocidad de reloj base más alta del procesador AMD.

La figura 4 muestra las especificaciones relevantes para la mayoría de los tamaños de máquinas virtuales de la serie Esv4. Por lo que puedo decir, Microsoft aún no ofrece versiones restringidas de las máquinas virtuales de la serie Esv4. Con suerte, lo harán en el futuro.

Figura 4:Especificaciones seleccionadas de la serie Esv4 (haga clic para ampliar)

Conclusión

Cuando usa máquinas virtuales de Azure para cargas de trabajo de SQL Server, debe dedicar algún tiempo a evaluar las diferentes series y tamaños de máquinas virtuales de Azure que están disponibles en su región preferida. Microsoft usa diferentes procesadores personalizados en diferentes series de máquinas virtuales y, a veces, dentro de la misma serie de máquinas virtuales. Hacer este tipo de análisis de sus opciones disponibles para la serie y el tamaño de VM debe ser una de sus tareas iniciales. Si es posible, intente aprovechar las ofertas limitadas que ofrece Microsoft, ya que ofrecen un valor excelente para SQL Server.

Una vez que haya seleccionado una serie y un tamaño de VM, haría algunas pruebas comparativas rápidas de CPU y almacenamiento, como CPU-Z, Geekbench 5 y CrystalDiskMark 7 como una verificación inicial de cordura (incluso antes de instalar SQL Server). Esto le permitirá comparar sus máquinas virtuales de Azure entre sí y con su hardware y almacenamiento locales heredados. Tim Radney tiene un excelente artículo sobre este proceso (para el almacenamiento).