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:
- Identifique las características de rendimiento de la carga de trabajo para determinar el tamaño de máquina virtual adecuado para su empresa.
- Si va a migrar a Azure, use herramientas como Data Migration Assistant y recomendación de SKU para encontrar el tamaño de máquina virtual adecuado para la carga de trabajo de SQL Server existente y, después, migrar con Azure Data Studio.
- 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.
- Use tamaños de máquina virtual con 4 o más vCPU.
- 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 las series Msv3 y Mdsv3 ofrecen una relación óptima de memoria a núcleo virtual recomendada para cargas de trabajo OLTP.
- Las máquinas virtuales de la serie mbdsv3 ofrecen el mejor rendimiento para las cargas de trabajo de SQL Server en máquinas virtuales de Azure. Tenga en cuenta esta serie en primer lugar para cargas de trabajo críticas de OLTP y almacenamiento de datos de SQL Server.
- La serie Ebdsv5 proporciona una alta relación de rendimiento de E/S a núcleo virtual, junto con una relación de memoria a núcleo virtual de 8:1. Esta serie ofrece el rendimiento al mejor precio para cargas de trabajo de SQL Server en máquinas virtuales de Azure. Considere primero estas máquinas virtuales para la mayoría de las cargas de trabajo de SQL Server.
- La familia de la serie M ofrece máquinas virtuales con la asignación de almacenamiento más alta en Azure.
- Las máquinas virtuales de las series Mbsv3 y Mbdsv3 proporcionan una asignación de almacenamiento y la relación de rendimiento de E/S a núcleo virtual más alta entre la familia de la serie M, junto con una relación coherente de memoria a núcleo virtual de al menos 8:1.
- Inicie entornos de desarrollo con la serie D, la serie B o la serie Av2 de nivel inferior y aumente su entorno con el tiempo.
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. 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 la Ventaja híbrida de Azure para llevar sus licencias a Azure y ahorrar en costos de licencia de SQL Server.
Si se trata de una nueva máquina virtual, cree la nueva máquina virtual con SQL Server en función de los requisitos de la aplicación. Si va a crear una nueva VM con SQL Server para una nueva aplicación creada para la nube, puede escalar fácilmente la VM con SQL Server a medida que evolucionan los datos y los requisitos de uso. Inicie entornos de desarrollo con la serie D, la serie B o la serie Av2 de nivel inferior y aumente su entorno con el tiempo.
Considere la siguientes series de máquinas virtuales en función de las cargas de trabajo de SQL Server:
- Asignación de almacenamiento más alta para cargas de trabajo críticas: lasmáquinas virtuales de las series Mbsv3 y Mbdsv3 ofrecen la asignación de almacenamiento más alta en Azure, con el mejor rendimiento de almacenamiento.
- Relación alta de rendimiento de E/S a núcleo virtual: las máquinas virtuales de las series Mbsv3 y Mbdsv3 ofrecen la relación de rendimiento a núcleo virtual más alta de cualquier serie de máquinas virtuales en cualquier nube. Las máquinas virtuales de la serie Ebdsv5 ofrecen la segunda relación de rendimiento a núcleo virtual más alta en Azure. Si no conoce los requisitos de E/S para la carga de trabajo de SQL Server, las máquinas virtuales de la serie Ebdsv5 son las que más probablemente satisfagan sus necesidades. Vea el artículo sobre almacenamiento para obtener más información.
- Procesamiento paralelo para máquinas más grandes: las máquinas virtuales de las series Msv3 y Mdsv3 ofrecen procesamiento paralelo, por lo que son buenas opciones para entornos de almacenamiento de datos más grandes.
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:1. En el caso de los entornos de tamaño medio, se recomienda elegir una proporción de 16:1 de núcleo virtual por memoria, y de 32:1 en entornos de almacenamiento de datos más grandes.
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 con SQL Server que admitan el rendimiento de Premium Storage. Vea el artículo sobre almacenamiento para obtener más información.
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:
- Admite Premium Storage, almacenamiento en caché de Premium Storage, Ultra Disks, aceleración de escritura y redes aceleradas.
- Son adecuadas 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 Mbsv3 y Mbdsv3
Las series Mbsv3 y Mbdsv3 son máquinas virtuales optimizadas para memoria diseñadas para grandes bases de datos y cargas de trabajo en memoria con necesidades de proporción de memoria a CPU. Las máquinas virtuales de esta serie se basan en la 4ª generación Intel® Xeon® Escalable y ofrecen una variedad de tamaños de memoria y recuentos de vCPU para satisfacer las necesidades de las cargas de trabajo de SQL Server. Las máquinas virtuales de la serie Mbsv3 y Mbdsv3 se recomiendan para cargas de trabajo críticas y de almacenamiento de datos.
Las máquinas virtuales de la serie Mbsv3 y Mbdsv3 admiten grandes bases de datos y cargas de trabajo en memoria con una alta proporción de memoria a CPU perfecta para servidores de bases de datos relacionales, almacenamiento de datos, informes pesados, cachés grandes y análisis en memoria.
A continuación se muestran las características de las máquinas virtuales de esta serie:
- La serie Mbsv3 ofrecen hasta 176 núcleos virtuales y 1536 GiB de memoria, con una relación coherente de memoria a núcleo virtual de 8:1, 650 000 IOPS y 6000 MBps de rendimiento de almacenamiento.
- La serie Mbdsv3 ofrece hasta 176 núcleos virtuales y 4 TiB de memoria, 650 000 IOPS y 10 000 MBps de rendimiento de almacenamiento. Esta serie de máquinas virtuales ofrece más de un 50 % de mejora en las IOPS y el rendimiento de la serie Ebdsv5 de alto rendimiento, lo que convierte a Mbdsv3 en una de las opciones de máquina virtual de mayor rendimiento disponibles en cualquier nube. La serie de máquinas virtuales Mbdsv3 comparte características de rendimiento similares con la serie de máquinas virtuales Mbsv3, pero incluye almacenamiento local efímero sólido, lo que la convierte en perfecta para la optimización del rendimiento de tempdb, la creación de informes, la OLAP crítica y las cargas de trabajo de almacenamiento de datos.
Series 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 TiB 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 desde 6 TiB a 16 TiB, hasta 832 vCPU, hasta 260 000 IOPS y 8 000 MBps de rendimiento para 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 tiene la mayor superficie de memoria de cualquiera de las máquinas virtuales basadas en la serie M que ofrecen hasta 32 TiB de memoria, 1792 vCPU, hasta 200 000 IOPS y 8000 MBps de rendimiento de almacenamiento remoto.
Precaución
Deshabilitar SMT para usar máquinas virtuales de SQL Server en Azure que superan los 64 núcleos virtuales por nodo NUMA.
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 con un uso intensivo de memoria, como bases de datos grandes, análisis de macrodatos y aplicaciones empresariales que requieren importantes cantidades de RAM para mantener un alto rendimiento.
Serie Ebdsv5
La serie Ebdsv5 es una serie de máquinas virtuales optimizada para memoria que ofrece 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, las hace ideales para la mayoría de las 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 se ajuste a sus necesidades 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 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. 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 TiB de SSD 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 TiB 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 caché local para aumentar las 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 puedan 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:
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.