Microsoft tiene una gran cantidad de diferentes series y tamaños de máquinas virtuales de Azure disponibles si está interesado en usar su opción de infraestructura como servicio (IaaS) para hospedar instancias de SQL Server. Una decisión inicial que deberá tomar es qué serie y tamaño de máquina virtual de Azure desea usar para su carga de trabajo particular de SQL Server.
Para el uso local de SQL Server, desea realizar un análisis cuidadoso de su carga de trabajo y los modelos de servidor y modelos de procesador disponibles para obtener un servidor con una opción de procesador adecuada para minimizar los costos de licencia de SQL Server y obtener el mejor rendimiento y capacidad posible a un costo de licencia de SQL Server determinado. La diferencia de costo y rendimiento entre una buena elección de procesador y una mala elección de procesador puede ser bastante dramática.
Con una máquina virtual de Azure, debe realizar un análisis similar, pero por motivos algo diferentes. El costo de la licencia de SQL Server en una máquina virtual de Azure está directamente relacionado con la cantidad de núcleos en la máquina virtual. Desea elegir un tamaño de máquina virtual que coincida con sus necesidades esperadas de rendimiento y capacidad de CPU, capacidad de memoria y rendimiento de almacenamiento.
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 GS) y un tamaño en un centro de datos de Azure en particular, y luego obtiene cualquier procesador que Microsoft esté usando para esa serie y tamaño en ese centro de datos de Azure. Actualmente, Microsoft tiene 42 regiones diferentes que tienen Azure Data Centers, por lo que puede usar la matriz que se muestra en esta página para descubrir qué series de máquinas virtuales se ofrecen en cada región.
Unidad informática de Azure (ACU)
Un concepto muy importante que debe comprender al comparar y seleccionar una SKU de máquina virtual de Azure es la unidad informática de Azure (ACU), que le permite comparar el rendimiento informático (rendimiento de vCPU por núcleo) en diferentes SKU de máquina virtual de Azure. Esta medida de ACU está estandarizada actualmente en una máquina virtual pequeña (estándar_A1) con una puntuación de 100 y todas las demás SKU de Azure tienen puntuaciones de ACU que representan aproximadamente cuánto más rápido esa SKU de Azure en particular puede ejecutar una prueba comparativa de CPU estándar. Entonces, por ejemplo, un Standard_A1 tiene una puntuación de ACU/vCPU de 100 mientras que un Standard_GS5 tiene una puntuación de ACU/vCPU de 240.
Observar la puntuación de ACU para una SKU de máquina virtual de Azure le da una buena idea del rendimiento de la CPU de subproceso único del procesador que se usa en la máquina host subyacente. También es importante comprender si ese procesador en particular es compatible con Intel Turbo Boost o Intel Hyper-Threading, ya que no todos los procesadores que se usan en las distintas SKU de máquinas virtuales de Azure admiten estas tecnologías.
Puede hacerlo identificando la CPU host real en su VM en la página de CPU de la pestaña Rendimiento del Administrador de tareas de Windows o usando una utilidad como CPU-Z. Una vez que haya identificado el modelo de procesador exacto en el host, puede utilizar la base de datos Intel ARK en línea para obtener detalles específicos sobre ese procesador.
Nuevos tamaños de máquinas virtuales de Azure para SQL Server
Un problema común con el dimensionamiento de máquinas virtuales de Azure para SQL Server ha sido el hecho de que a menudo se vio obligado a seleccionar un tamaño de máquina virtual que tenía muchos más núcleos de CPU virtuales de los que necesitaba o deseaba para tener suficiente memoria y rendimiento de almacenamiento para admitir su carga de trabajo. lo que incrementó su costo de licencia mensual.
Afortunadamente, Microsoft recientemente facilitó un poco el proceso de decisión para SQL Server con una nueva serie de máquinas virtuales de Azure que usan algunos tamaños de máquinas virtuales particulares (DS, ES, GS y MS), pero reducen el recuento de vCPU a una cuarta parte o a la mitad. del tamaño original de la máquina virtual, manteniendo la misma memoria, almacenamiento y ancho de banda de E/S. Estos nuevos tamaños de VM tienen un sufijo que especifica la cantidad de CPU virtuales activas para facilitar su identificación.
Por ejemplo, una máquina virtual de Azure Standard_DS14v2 tendría 16 vCPU, 112 GB de RAM y admitiría hasta 51 200 IOPS o 768 MB/s de rendimiento secuencial (según Microsoft). Una nueva máquina virtual de Azure Standard_DS14-8v2 solo tendría 8 vCPU, con la misma capacidad de memoria y rendimiento de disco que Standard_DS14v2, lo que reduciría el costo anual de licencias de SQL Server en un 50 %. Ambos SKU de máquina virtual de Azure tendrían la misma puntuación ACU de 160.
Un problema algo confuso con estos nuevos SKU de máquina virtual de Azure es que el costo informático mensual (que incluye la licencia del sistema operativo) para ambos SKU sería el mismo ($989,52/mes para este ejemplo). Donde ahorra es en los costos de licencia mensuales reducidos de SQL Server.
Esencialmente, lo que Microsoft está haciendo aquí es deshabilitar los núcleos en la VM para reducir los costos de licencia de SQL Server, que es algo que no puede hacer con SQL Server local. Con SQL Server local, no puede deshabilitar núcleos de procesador en su UEFI/BIOS para reducir los costos de licencia de SQL Server. Incluso si deshabilita los núcleos en UEFI/BIOS, aún debe obtener la licencia de esos núcleos para SQL Server.
Evaluación comparativa de su máquina virtual de Azure con CPU-Z
Un punto de referencia de CPU muy rápido que puede ejecutar en cualquier máquina (física o virtual, Azure VM o no) es el punto de referencia de CPU-Z integrado, que solo tarda unos 20 segundos en completarse. Creé un DS14-8_v2 estándar en el centro de datos de South Central US. Esta máquina virtual usaba el procesador Intel Xeon E5-2673 v3 Haswell-EP, que es un procesador de 12 núcleos con una velocidad de reloj base de 2,4 GHz y una velocidad de reloj Turbo de 3,2 GHz que parece ser un SKU de procesador especial a medida que no está en la base de datos Intel Ark. Esta familia de procesadores se presentó en el tercer trimestre de 2014, por lo que ha estado disponible durante más de tres años. En esta máquina virtual en particular, no vi que se usara Turbo Boost durante mi prueba.
En las Figuras 1 a 3, puede ver los resultados de referencia de CPU-Z para esta máquina virtual de Azure, siendo la Figura 4 los resultados de mi laptop Dell Precision 5520, ciertamente rápida. Mi computadora portátil tiene la misma cantidad de núcleos virtuales que la VM de Azure estándar DS14-8_v2, pero estoy usando un procesador Intel Xeon E3-1505M v6 Kaby Lake mucho más nuevo con una velocidad de reloj base más alta y un mejor rendimiento de subproceso único.
Figura 1:Administrador de tareas de Standard DS14-8_v2 en el centro sur de EE. UU.
Figura 2:Pestaña de CPU CPU-Z de DS14-8_v2 estándar en el centro sur de EE. UU.
Figura 3:CPU-Z Bench Tab de Standard DS14-8_v2 en el centro sur de EE. UU.
Figura 4:CPU-Z Bench Tab de la computadora portátil de Glenn