Tamaño de máquinas virtuales: procedimientos recomendados de rendimiento de SQL Server en VM de Azure

Se aplica a:SQL Server en VM de Azure

En este artículo se proporciona una serie de procedimientos recomendados e instrucciones de tamaño de máquinas virtuales para optimizar el rendimiento de SQL Server en máquinas virtuales (VM) de Azure.

Por lo general, existe un equilibrio entre la optimización de los costos y la optimización del rendimiento. Esta serie de procedimientos recomendados de rendimiento se centra en cómo obtener el mejor rendimiento de SQL Server en las máquinas virtuales de Azure. Si su carga de trabajo es menos exigente, podría no necesitar todas las optimizaciones recomendadas. Tenga en cuenta sus necesidades de rendimiento, costos y patrones de carga de trabajo a medida que evalúa estas recomendaciones.

Para obtener detalles completos, consulte otros artículos de esta serie: Lista de comprobación, Almacenamiento, Seguridad, Configuración de HADR y Recopilación de la base de referencia.

Lista de comprobación

Revise la siguiente lista de comprobación para obtener una breve introducción sobre los procedimientos recomendados de tamaño de VM que se cubren en el resto del artículo con mayor detalle:

  • La nueva serie Ebdsv5 proporciona la mayor proporción de rendimiento de E/S a núcleo virtual de Azure junto con una proporción de memoria a núcleo virtual de 8. Esta serie ofrece el rendimiento al mejor precio para cargas de trabajo de SQL Server en máquinas virtuales de Azure. Considere esta serie en primer lugar para la mayoría de cargas de trabajo de SQL Server.
  • Use tamaños de máquina virtual con 4 o más vCPU como E4ds_v5 o superior.
  • Use tamaños de máquinas virtuales optimizados para memoria para obtener el mejor rendimiento de las cargas de trabajo de SQL Server.
  • Las series Edsv5, M- y Mv2- ofrecen la proporción óptima de memoria por núcleo virtual necesaria para las cargas de trabajo de OLTP.
  • Las máquinas virtuales de la serie M ofrecen la relación entre memoria y núcleos virtuales más alta de Azure. Considere estas máquinas virtuales para cargas de trabajo críticas para el objetivo y de almacenamiento de datos.
  • Use las imágenes de Azure Marketplace para implementar máquinas virtuales de SQL Server, ya que la configuración de SQL Server y las opciones de almacenamiento están configuradas para un rendimiento óptimo.
  • Recopile las características de rendimiento de la carga de trabajo de destino y úselas para determinar el tamaño de VM adecuado para el negocio.
  • Use las herramientas de Data Migration Assistant y de recomendación de SKU para encontrar el tamaño de VM adecuado para la carga de trabajo de SQL Server existente.
  • Use Azure Data Studio para migrar a Azure.

Para comparar la lista de comprobación de tamaño de VM con las demás, vea la lista de comprobación de procedimientos recomendados de rendimiento.

Información general

Cuando cree una instancia de SQL Server en una VM de Azure, considere cuidadosamente el tipo de carga de trabajo necesaria. Si va a migrar un entorno existente, recopile una línea de base de rendimiento para determinar la instancia de SQL Server en los requisitos de la VM de Azure. Si se trata de una nueva máquina virtual, cree la nueva VM de SQL Server en función de los requisitos del proveedor.

Si va a crear una nueva VM con SQL Server con una nueva aplicación compilada para la nube, puede cambiar fácilmente el tamaño de la VM con SQL Server a medida que evolucionen los requisitos de uso y datos. Inicie los entornos de desarrollo con las series D, B y Av2 de nivel inferior y aumente el entorno con el tiempo.

Use las imágenes de marketplace de VM con SQL Server con la configuración de almacenamiento del portal. Esto hace que sea más fácil crear correctamente los grupos de almacenamiento necesarios para obtener el tamaño, IOPS y el rendimiento necesarios para las cargas de trabajo. Es importante elegir VM con SQL Server compatibles con Premium Storage y almacenamiento en caché de Premium Storage. Vea el artículo sobre almacenamiento para obtener más información.

Actualmente, la serie Ebdsv5 proporciona la relación de rendimiento de E/S a núcleo virtual más alta disponible de Azure. Si no conoce los requisitos de E/S para la carga de trabajo de SQL Server, esta es la serie que más probablemente satisfaga sus necesidades. Vea el artículo sobre almacenamiento para obtener más información.

Nota

Los tamaños de serie Ebdsv5 más grandes (48 vCPU y mayores) ofrecen compatibilidad con el acceso de almacenamiento habilitado para NVMe. Para aprovechar este alto rendimiento de E/S, debe implementar la máquina virtual mediante NVMe. La compatibilidad con NVMe para imágenes de Marketplace de SQL Server estará disponible próximamente, pero por ahora debe instalar SQL Server automáticamente para aprovechar NVMe.

El almacenamiento de datos de SQL Server y los entornos críticos suelen necesitar modificar la escala más allá de la proporción de memoria a núcleo virtual de 8. En el caso de los entornos de tamaño medio, se recomienda elegir una proporción de 16 de núcleo virtual por memoria, y de 32 en entornos de almacenamiento de datos más grandes.

Los entornos de almacenamiento de datos de SQL Server suelen beneficiarse del procesamiento paralelo de máquinas de mayor tamaño. Por este motivo, la serie M y la serie Mv2 son buenas opciones para entornos de almacenamiento de datos más grandes.

Use la vCPU y la configuración de memoria de la máquina de origen como base de referencia para migrar una base de datos de SQL Server local actual a SQL Server en máquinas virtuales de Azure. Si tiene Software Assurance, aproveche las ventajas híbridas de Azure para llevar sus licencias a Azure y ahorrar en costos de licencia de SQL Server.

Memoria optimizada

Los tamaños de máquina virtual optimizada para memoria son un destino principal para VM con SQL Server y la opción recomendada por Microsoft. Las máquinas virtuales optimizadas para memoria ofrecen proporciones más seguras de memoria a CPU y opciones de caché de tamaño medio a grande.

Serie Ebdsv5

La serie Ebdsv5 es una nueva serie optimizada para memoria de máquinas virtuales que ofrecen el mayor rendimiento de almacenamiento remoto disponible en Azure. Estas máquinas virtuales tienen una proporción de memoria a núcleo virtual de 8, la cual, junto con el alto rendimiento de E/S, las convierte en ideales para cargas de trabajo de SQL Server. Las máquinas virtuales de la serie Ebdsv5 ofrecen el rendimiento al mejor precio para cargas de trabajo de SQL Server que se ejecutan en máquinas virtuales de Azure y son muy recomendables para la mayoría de las cargas de trabajo de producción de SQL Server.

Serie Edsv5

La serie Edsv5 está diseñada para aplicaciones con uso intensivo de memoria y es ideal para cargas de trabajo de SQL Server que no requieren un rendimiento de E/S tan alto como ofrece la serie Ebdsv5. Estas máquinas virtuales tienen una gran capacidad de almacenamiento SSD local, hasta 672 GiB de RAM y un rendimiento de almacenamiento local y remoto muy alto. Hay 8 GiB de memoria casi uniformes por núcleo virtual en la mayoría de estas máquinas virtuales, lo que es ideal para la mayoría de las cargas de trabajo de SQL Server.

La máquina virtual más grande de este grupo es la Standard_E104ids_v5 que ofrece 104 núcleos virtuales y 672 GiBs de memoria. Esta máquina virtual es notable porque está aislada, lo que significa que se garantiza que es la única que se ejecuta en el host y, por tanto, está aislada de otras cargas de trabajo de cliente. Tiene una proporción entre memoria y núcleo virtual menor de lo recomendado para SQL Server, por lo que solo se debe usar si se requiere aislamiento.

Las máquinas virtuales de la serie Edsv5 admiten almacenamiento premium y almacenamiento en caché premium.

Serie ECadsv5

Los tamaños de máquina virtual de la serie ECadsv5 son máquinas virtuales confidenciales de Azure optimizadas para memoria con un disco temporal. Revise la sección sobre las máquinas virtuales confidenciales para obtener información sobre las ventajas de seguridad de las máquinas virtuales confidenciales de Azure.

Como las características de seguridad de las máquinas virtuales confidenciales de Azure pueden presentar sobrecargas de rendimiento, pruebe la carga de trabajo y seleccione un tamaño de máquina virtual que se ajuste a sus necesidades de rendimiento.

Series M y Mv2

La serie M ofrece recuentos de núcleos virtuales y memoria para algunas de las cargas de trabajo de SQL Server más grandes.

La serie Mv2 tiene los mayores recuentos de núcleos virtuales y memoria y se recomienda para cargas de trabajo críticas y de almacenamiento de datos. Las instancias de la serie Mv2 son tamaños de máquinas virtuales optimizados para memoria que proporcionan un rendimiento de proceso sin precedentes para admitir grandes bases de datos y cargas de trabajo en memoria, con una proporción elevada de memoria y CPU que es perfecta para servidores de bases de datos relacionales, grandes almacenamientos en caché y análisis en memoria.

Algunas de las características de la serie M y Mv2 atractivas para el rendimiento de SQL Server incluyen compatibilidad con Premium Storage y almacenamiento en caché de Premium Storage, compatibilidad con disco Ultra y aceleración de escritura.

De uso general

Los tamaños de máquina virtual de uso general están diseñados para ofrecer proporciones de memoria a núcleo virtual equilibradas para cargas de trabajo de nivel de entrada más pequeñas, como desarrollo y pruebas, servidores web y servidores de bases de datos más pequeños.

Debido a las proporciones de memoria a núcleo virtual más pequeñas con las máquinas virtuales de uso general, es importante supervisar detenidamente los contadores de rendimiento basados en memoria para asegurarse de que SQL Server sea capaz de obtener la memoria caché del búfer que necesita. Para obtener más información, consulte Línea base de rendimiento de memoria.

Dado que la recomendación inicial para las cargas de trabajo de producción es una proporción de memoria a núcleo virtual de 8, la configuración mínima recomendada para una VM de uso general que ejecuta SQL Server es 4 vCPU y 32 GiB de memoria.

Serie Ddsv5

La serie Ddsv5 ofrece una combinación justa de vCPU, memoria y disco temporal, pero con menor compatibilidad entre memoria y núcleos virtuales.

Las máquinas virtuales Ddsv5 incluyen menor latencia y almacenamiento local de mayor velocidad.

Estas máquinas son ideales para implementaciones de SQL y aplicaciones en paralelo que requieren un acceso rápido a las bases de datos relacionales del almacenamiento temporal y del departamento. Hay una proporción de memoria a núcleo virtual estándar de 4 en todas las máquinas virtuales de esta serie.

Por este motivo, se recomienda usar el D8ds_v5 como la máquina virtual de inicio de esta serie, que tiene 8 núcleos virtuales y 32 GiBs de memoria. La máquina más grande es la D96ds_v5, que tiene 96 núcleos virtuales y 256 GiBs de memoria.

Las máquinas virtuales de la serie Ddsv5 admiten almacenamiento premium y almacenamiento en caché premium.

Nota:

La serie Ddsv5 no tiene la proporción de memoria a núcleo virtual de 8 que se recomienda para las cargas de trabajo de SQL Server. Por lo tanto, considere la posibilidad de usar estas máquinas virtuales solo para aplicaciones pequeñas y cargas de trabajo de desarrollo.

Serie DCadsv5

Los tamaños de máquina virtual de la serie DCadsv5 son máquinas virtuales confidenciales de Azure de uso general con disco temporal. Revise la sección sobre las máquinas virtuales confidenciales para obtener información sobre las ventajas de seguridad de las máquinas virtuales confidenciales de Azure.

Como las características de seguridad de las máquinas virtuales confidenciales de Azure pueden presentar sobrecargas de rendimiento, pruebe la carga de trabajo y seleccione un tamaño de máquina virtual que se ajuste a sus necesidades de rendimiento.

Serie B

Los tamaños de las máquinas virtuales ampliables de serie B son ideales para cargas de trabajo que no necesitan un rendimiento coherente, como prueba de concepto y servidores de desarrollo y aplicaciones muy pequeños.

La mayoría de los tamaños de las máquinas virtuales ampliables de serie B tienen una proporción de memoria a núcleo virtual de 4. El mayor de estos equipos es el Standard_B20ms con 20 núcleos virtuales y 80 GiB de memoria.

Esta serie es única, ya que las aplicaciones tienen la capacidad de ampliar durante el horario comercial con créditos ampliables en función del tamaño de la máquina.

Cuando se acaban los créditos, la VM vuelve al rendimiento de la máquina de base de referencia.

La ventaja de la serie B es el ahorro de proceso que podría lograr en comparación con los demás tamaños de máquina virtual de otras series, especialmente si necesita la potencia de procesamiento con moderación a lo largo del día.

Esta serie admite Premium Storage, pero no admitealmacenamiento en caché de Premium Storage.

Nota:

La serie B ampliable no tiene la proporción de memoria a núcleo virtual de 8 que se recomienda para las cargas de trabajo de SQL Server. Como tal, considere la posibilidad de usar estas máquinas virtuales para cargas de trabajo de desarrollo, servidores web y aplicaciones más pequeñas únicamente.

Serie Av2

Las máquinas virtuales de la serie Av2 son más adecuadas para cargas de trabajo de nivel de entrada, como desarrollo y pruebas, servidores web de tráfico bajo, bases de datos de aplicaciones de tamaño pequeño a medio y prueba de conceptos.

Solo los Standard_A2m_v2 (2 núcleos virtuales y 16 GiBs de memoria), Standard_A4m_v2 (4 núcleos virtuales y 32 GiBs de memoria) y los Standard_A8m_v2 (8 núcleos virtuales y 64 GiBs de memoria) tienen una buena proporción de memoria a núcleo virtual de 8 para estas tres máquinas virtuales principales.

Estas máquinas virtuales son buenas opciones para máquinas de SQL Server de desarrollo y pruebas más pequeñas.

Standard_A8m_v2 de 8 núcleos virtuales también puede ser una buena opción para aplicaciones y servidores web pequeños.

Nota:

La serie Av2 no admite Premium Storage y, por tanto, no se recomienda para las cargas de trabajo de SQL Server de producción, incluso con las máquinas virtuales que tienen una proporción de memoria a núcleo virtual de 8.

Almacenamiento optimizado

Los tamaños de máquina virtual optimizada para almacenamiento son para casos de uso específicos. Estas máquinas virtuales están diseñadas específicamente con rendimiento optimizado de disco y E/S.

Serie Lsv2

Las máquinas virtuales de la serie Lsv2 presentan alto rendimiento, baja latencia y almacenamiento local de NVMe. Las máquinas virtuales de la serie Lsv2 están optimizadas para usar el disco local del nodo conectado directamente a la máquina virtual, en lugar de utilizar discos de datos duraderos.

Estas máquinas virtuales son opciones seguras para macrodatos, almacenamiento de datos, informes y cargas de trabajo de ETL. El alto rendimiento e IOPS del almacenamiento local de NVMe es un buen caso de uso para procesar archivos que se van a cargar en la base de datos y otros escenarios donde los datos se pueden volver a crear desde el sistema de origen u otros repositorios, como Azure Blob Storage o Azure Data Lake. Las VM de la serie Lsv2 también pueden expandir su rendimiento de disco hasta 30 minutos cada vez.

Estas máquinas virtuales tienen un tamaño de 8 a 80 vCPU con 8 GiB de memoria por vCPU y por cada 8 vCPU hay 1,92 TB de SSD de NVMe. Esto significa que para la máquina virtual más grande de esta serie, la L80s_v2, hay 80 vCPU y 640 BiB de memoria con 10x1,92 TB de almacenamiento de NVMe. Hay una proporción de memoria a núcleo virtual coherente de 8 en todas estas máquinas virtuales.

El almacenamiento de NVMe es efímero, lo que significa que los datos se pierden en estos discos si se desasigna la máquina virtual, o si se mueve a otro host para la recuperación del servicio.

Las series Lsv2 y Ls admiten Premium Storage, pero no almacenamiento en caché de Premium Storage. No se admite la creación de una memoria caché local para aumentar IOPS.

Advertencia

Si almacena los archivos de datos en el almacenamiento efímero de NVMe, podría provocar la pérdida de datos cuando se desasigne la máquina virtual.

Núcleos virtuales restringidos

Las cargas de trabajo de alto rendimiento de SQL Server suelen necesitar grandes cantidades de memoria, IOPS y rendimiento sin los mayores recuentos de núcleos virtuales.

La mayoría de las cargas de trabajo de OLTP son bases de datos de aplicación controladas por un gran número de transacciones más pequeñas. Con las cargas de trabajo de OLTP, solo se lee o se modifica una pequeña cantidad de datos, pero los volúmenes de transacciones controlados por recuentos de usuarios son mucho mayores. Es importante tener la memoria de SQL Server disponible para los planes de caché, almacenar los datos a los que se ha tenido acceso recientemente para el rendimiento y asegurarse de que las lecturas físicas se pueden leer en la memoria rápidamente.

Estos entornos de OLTP necesitan mayor cantidad de memoria, almacenamiento rápido y el ancho de banda de E/S necesario para que funcionen de forma óptima.

Con el fin de mantener este nivel de rendimiento sin los mayores costos de licencias de SQL Server, Azure ofrece tamaños de máquina virtual con recuentos de vCPU restringidas.

Esto ayuda a controlar los costos de las licencias al reducir los núcleos virtuales disponibles manteniendo la misma memoria, almacenamiento y ancho de banda de E/S de la máquina virtual principal.

Se puede restringir el número de vCPU a la mitad o un cuarto del tamaño de VM original. La reducción de los núcleos virtuales disponibles para la máquina virtual logra mayores proporciones de memoria por núcleo virtual, pero el costo de proceso sigue siendo el mismo.

Estos nuevos tamaños de VM tienen un sufijo que especifica el número de vCPU activas para facilitar su identificación.

Por ejemplo, M64-32ms solo requiere licencias para 32 núcleos virtuales de SQL Server con la memoria, la E/S y el rendimiento de M64ms, y M64-16ms solo requiere licencias para 16 núcleos virtuales. Aunque M64-16ms supone un cuarto del costo de las licencias de SQL Server de M64ms, el costo de proceso de la máquina virtual es el mismo.

Nota:

  • Las cargas de trabajo de almacenamiento de datos de tamaño medio a grande pueden seguir beneficiándose de las VM de núcleo virtual restringido, pero las cargas de trabajo de almacenamiento de datos se caracterizan normalmente por menos usuarios y procesos que tratan mayores cantidades de datos a través de planes de consulta que se ejecutan en paralelo.
  • El costo de proceso, que incluye las licencias del sistema operativo, seguirá siendo el mismo que el de la máquina virtual principal.

Pasos siguientes

Para obtener más información, consulte los demás artículos de esta serie: