Tamaño de máquinas virtuales: procedimientos recomendados de rendimiento de SQL Server en VM de Azure
Se aplica a: SQL Server en máquina virtual 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 serie Ebdsv5 proporciona la mayor relación de rendimiento de E/S a núcleo virtual en Azure junto con una relació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.
- La serie Edsv5 y la serie Ebdsv5, la serie Msv3 y Mdsv3 ofrecen una relación óptima de memoria a núcleo virtual necesaria para cargas de trabajo OLTP.
- Las máquinas virtuales de la serie M ofrecen la relación de memoria a núcleo virtual más alta en Azure. Tenga en cuenta estas máquinas virtuales para cargas de trabajo críticas de OLTP y 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.
Advertencia
Actualmente no se admite la instalación de SQL Server en sistemas que superen los 64 núcleos por nodo NUMA. Esta limitación se aplica actualmente a los tamaños Standard_M176s_3_v3 y Standard_M176s_4_v3 de máquina virtual de Azure dentro de las series de memoria media Msv3 y Mdsv3.
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 máquinas virtuales de SQL Server que admitan almacenamiento premium 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 la 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 las imágenes de marketplace de SQL Server llegará pronto, pero por ahora debe autoinstalar SQL Server para poder aprovechar las ventajas de 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 entornos medianos, es posible que quiera elegir una relación de 16 memoria a núcleo virtual y una proporción de 32 núcleos virtuales para 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.
Máquinas virtuales de la serie M optimizadas para memoria
La serie M ofrece recuentos de núcleos virtuales y memoria para algunas de las cargas de trabajo de SQL Server más grandes.
A continuación se enumeran las funcionalidades de las máquinas virtuales de la serie M:
- Compatibilidad con Premium Storage, almacenamiento en caché de Premium Storage, discos Ultra, aceleración de escritura y redes aceleradas.
- Son adecuados para cargas de trabajo de SQL Server que requieren funcionalidades informáticas elevadas con grandes superficies de memoria y menos énfasis en el rendimiento del almacenamiento.
Serie Msv3 y Mdsv3
Las máquinas virtuales Msv3 y Mdsv3 están diseñadas con capacidades de potencia informática y memoria en niveles de memoria medio, alto y muy alto . Estas máquinas virtuales proporcionan un mejor rendimiento, escalabilidad y resistencia a errores en comparación con las máquinas virtuales Mv2 de generación anterior.
A continuación se enumeran las máquinas virtuales de esta serie:
- Máquinas virtuales de memoria media Msv3 y Mdsv3: con tecnología de procesadores escalables Intel® Xeon® de 4ª generación, y ofrece tamaños de máquina virtual de hasta 4 TB de memoria, 416 vCPU, 130 000 IOPS y 4000 MBps de rendimiento de almacenamiento remoto con la interfaz NVMe.
- Máquinas virtuales de memoria alta msv3 y Mdsv3: están diseñadas para cargas de trabajo de memoria elevadas con memoria que van de 6 TB a 16 TB, hasta 832 vCPU, hasta 260 000 IOPS y 8000 MBps de rendimiento al almacenamiento remoto con la interfaz NVMe.
- Serie de memoria muy alta mdsv3: con tecnología de 4 procesadores Intel® Xeon® Platinum 8490H (Zafiro Rápidos) y tienen la mayor superficie de memoria de cualquiera de las máquinas virtuales basadas en la serie M que ofrecen hasta 32 TB de memoria, 1792 vCPU, hasta 200 000 IOPS y 8000 MBps de rendimiento de almacenamiento remoto.
Advertencia
Actualmente no se admite la instalación de SQL Server en sistemas que superen los 64 núcleos por nodo NUMA. Esta limitación se aplica actualmente a los siguientes tamaños de máquina virtual de Azure dentro de la serie de memoria media Msv3 y Mdsv3: Standard_M176s_3_v3, Standard_M176s_4_v3, Standard_M176ds_3_v3, Standard_M176ds_4_v3
Máquinas virtuales de la serie E optimizadas para memoria
Las máquinas virtuales de la serie E están diseñadas para cargas de trabajo que consumen mucha memoria, como bases de datos grandes, análisis de macrodatos y aplicaciones empresariales que requieren grandes cantidades de RAM para mantener un alto rendimiento.
Serie Ebdsv5
La serie Ebdsv5 es una 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 relación de memoria a núcleo virtual de 8:1 que, junto con el alto rendimiento de E/S, los 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.
Nota:
Los tamaños de la 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.
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 podrían presentar sobrecargas de rendimiento, pruebe la carga de trabajo y seleccione un tamaño de máquina virtual que cumpla los requisitos de rendimiento.
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 introducir sobrecargas de rendimiento, pruebe la carga de trabajo y seleccione un tamaño de máquina virtual que cumpla los requisitos 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. La serie B ampliable más grande es la 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 admite almacenamiento 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.
La Standard_A8m_v2 de 8 núcleos virtuales también puede ser una buena opción para servidores web y aplicaciones 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 NVMe. Esto significa que para la máquina virtual más grande de esta serie, el L80s_v2, hay 80 vCPU y 640 BiB de memoria con 10x1,92 TB de almacenamiento 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 caché local para aumentar las E/S POR segundo.
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 accedido recientemente para el rendimiento y asegurarse de que las lecturas físicas se pueden leer rápidamente en la memoria.
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:
Para ver los procedimientos recomendados de seguridad, consulte Consideraciones de seguridad para SQL Server en Azure Virtual Machines.
Revise otros artículos sobre la máquina virtual de SQL Server en Introducción a SQL Server en Azure Virtual Machines. Si tiene alguna pregunta sobre las máquinas virtuales de SQL Server, consulte las Preguntas más frecuentes.