Migración a La Cumbre de innovación:
Obtenga información sobre cómo migrar y modernizar a Azure puede aumentar el rendimiento, la resistencia y la seguridad de su empresa, lo que le permite adoptar completamente la inteligencia artificial.Regístrese ahora
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
En este artículo se proporciona información para recopilar una línea de base de rendimiento como una serie de procedimientos recomendados y guías para optimizar el rendimiento de SQL Server en las 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.
Información general
Para obtener un enfoque más preceptivo, recopile los contadores de rendimiento mediante PerfMon/LogMan y capture estadísticas de espera de SQL Server para comprender mejor las presiones generales y los posibles cuellos de botella del entorno de origen.
Recopile datos durante las horas punta, como las cargas de trabajo durante un día laboral habitual, pero también otros procesos de carga alta, como el procesamiento de fin de jornada y las cargas de trabajo de ETL de fines de semana. Considere la posibilidad de escalar verticalmente los recursos para cargas de trabajo inusualmente intensas, como el procesamiento de fin de trimestre, y después modifique la escala una vez que se complete la carga de trabajo.
Use el análisis de rendimiento para seleccionar el tamaño de VM que se puede escalar a los requisitos de rendimiento de la carga de trabajo.
Storage
El rendimiento de SQL Server depende en gran medida del subsistema de E/S, y el rendimiento del almacenamiento se mide según el IOPS y el rendimiento. A menos que la base de datos se ajuste a la memoria física, SQL Server pone las páginas de la base de datos dentro y fuera del grupo de búferes constantemente. Los archivos de datos de SQL Server se deben tratar de forma diferente. El acceso a los archivos de registro es secuencial, excepto cuando es necesario revertir una transacción en la que se obtiene acceso de forma aleatoria a los archivos de datos, incluido tempdb. Si tiene un subsistema de E/S lento, es posible que los usuarios experimenten problemas de rendimiento, como tiempos de respuesta lentos y tareas que no se completan debido a los tiempos de espera.
Las máquinas virtuales de Azure Marketplace tienen archivos de registro en un disco físico que es independiente de los archivos de datos de manera predeterminada. El número y el tamaño de los archivos de datos de tempdb cumplen los procedimientos recomendados y se destinan a la unidad efímera D:\.
Los siguientes contadores de PerfMon pueden ayudar a validar el rendimiento de E/S requerido por SQL Server:
\LogicalDisk\Disk Reads/Sec (lectura de IOPS)
\LogicalDisk\Disk Writes/Sec (escritura de IOPS)
\LogicalDisk\Disk Read Bytes/Sec (requisitos de rendimiento de lectura para los datos, el registro y los archivos tempdb)
\LogicalDisk\Disk Write Bytes/Sec (requisitos de rendimiento de escritura para los datos, el registro y los archivos tempdb)
Mediante los requisitos de rendimiento e IOPS en los niveles de máxima actividad, evalúe los tamaños de VM que coincidan con la capacidad de sus mediciones.
Si la carga de trabajo requiere 20 000 IOPS de lectura y 10 000 IOPS de escritura, puede elegir E16s_v3 (con hasta 32 000 IOPS en caché y 25 600 no almacenadas en la caché), o bien M16_s (con un máximo de 20 000 IOPS en caché y 10 000 no almacenadas en la caché) con 2 discos P30 seccionados con espacios de almacenamiento.
Asegúrese de que conoce los requisitos tanto de rendimiento como de IOPS de la carga de trabajo, ya que las máquinas virtuales tienen diferentes límites de escala para ambos.
Memoria
Realice un seguimiento de la memoria externa usada por el sistema operativo, así como la memoria que usa internamente SQL Server. La identificación de la presión de cualquier componente ayudará a cambiar el tamaño de las máquinas virtuales e identificar las oportunidades de ajuste.
Los siguientes contadores de PerfMon pueden ayudar a validar el estado de la memoria de una máquina virtual de SQL Server:
El proceso en Azure se administra de forma diferente que en el entorno local. Los servidores locales se compilan en los últimos años sin necesidad de una actualización debido a la sobrecarga de administración y al costo de adquisición de hardware nuevo. La virtualización mitiga algunos de estos problemas, pero las aplicaciones están optimizadas para sacar el máximo partido del hardware subyacente, lo que significa que cualquier cambio significativo en el consumo de recursos requiere el reequilibrio de todo el entorno físico.
Esto no es un reto en Azure, donde una nueva máquina virtual en una serie diferente de hardware, e incluso en otra región, es fácil de conseguir.
En Azure, debe aprovechar la mayor parte posible de los recursos de máquinas virtuales, por lo que Azure Virtual Machines debe configurarse para mantener el promedio de CPU lo más alto posible sin afectar a la carga de trabajo.
Los siguientes contadores de PerfMon pueden ayudar a validar el estado del proceso de una máquina virtual de SQL Server:
\Processor Information(_Total)% de tiempo de procesador
\Process(sqlservr)% de tiempo de procesador
Nota
Idealmente, intente usar el 80 % del proceso, con picos por encima del 90 %, pero que no alcancen el 100 % durante un período de tiempo prolongado. Básicamente, solo debería aprovisionar el proceso que necesita la aplicación y, a continuación, planear el escalado o reducción vertical según requiera la empresa.
Pasos siguientes
Para obtener más información, consulte los demás artículos de esta serie:
Administre una infraestructura de base de datos de SQL Server para bases de datos relacionales locales e híbridas en la nube mediante las ofertas de bases de datos relacionales PaaS de Microsoft.
Aquí se proporciona una lista de comprobación rápida para revisar los procedimientos recomendados y las instrucciones para optimizar el rendimiento de SQL Server en máquinas virtuales (VM) de Azure.
Identifique los problemas de rendimiento y evalúe si la VM con SQL Server está configurada para seguir los procedimientos recomendados mediante la característica de evaluación de procedimientos recomendados de SQL en Azure Portal.
Identifique los problemas de rendimiento de E/S asociados con la limitación de discos de datos y máquinas virtuales de SQL Server en las cargas de trabajo de máquina virtual de Azure.
La optimización del almacenamiento de máquinas virtuales es una de las áreas más críticas en las que centrarse al diseñar el rendimiento con SQL Server en Azure Virtual Machines (VM). Las máquinas virtuales tienen operaciones de entrada y salida por segundo (IOPS) y límites de rendimiento en función del tipo y tamaño de la máquina virtual, así como del almacenamiento. En la primera parte de esta serie de máquinas virtuales de siete partes, trataremos cómo se produce el límite en los niveles de almacenamient
Al migrar las cargas de trabajo de SQL Server a una máquina virtual de Azure, hay literalmente cientos de tamaños de máquina virtual diferentes entre los que elegir. Esperemos que haya visto nuestros vídeos sobre el ajuste de tamaño para que tenga una idea de la metodología para la que se recomienda elegir el tamaño correcto, pero ¿qué ocurre si tiene una nueva carga de trabajo de SQL Server para la que no tiene métricas? ¿Por dónde debe empezar? En la parte 4 de esta serie de ocho partes, resaltaremos las