Aceleración y ajuste del rendimiento

Completado

Comprender las opciones para acelerar y ajustar el rendimiento de Azure SQL es clave para ofrecer un rendimiento coherente. Esto incluye saber cómo escalar la capacidad de la CPU, aumentar el rendimiento de E/S, configurar la memoria y los trabajos, mejorar la latencia de la aplicación y aplicar procedimientos recomendados estándar de ajuste de SQL Server.

Escala de la capacidad de CPU

Es posible que necesite escalar el número de CPU para las necesidades de recursos. En el caso de un entorno local, para esto sería necesario volver a configurar una máquina virtual, cambiar el hardware e incluso, migrar la base de datos. Azure SQL le permite hacerlo sin necesidad de ninguna migración. Puede usar Portal, T-SQL, la CLI de Azure o las API REST para escalar o reducir verticalmente el número de núcleos virtuales de la implementación.

Normalmente se requiere algún tiempo de inactividad, pero puede ser muy rápido en Azure SQL Database sin migración. Las implementaciones de Hiperescala permiten escalar verticalmente de forma constante con independencia del tamaño de los datos, mientras que las implementaciones Sin servidor permiten el escalado automático en función de la demanda de la CPU.

Nota:

El escalado de Azure SQL Managed Instance puede tardar mucho tiempo, pero no requiere migración.

Rendimiento de E/S

El rendimiento de E/S puede ser crítico para una aplicación de base de datos. Azure SQL no permite la colocación física de archivos, pero hay métodos para asegurarse de que obtiene el rendimiento de E/S que necesita.

La entrada/salida por segundo (IOPS) puede ser importante para la aplicación. Asegúrese de que ha elegido el nivel de servicio y los núcleos virtuales adecuados para las necesidades de IOPS. Comprenda cómo medir IOPS para las consultas locales si va a migrar a Azure. Si tiene restricciones de IOPS, es posible que vea esperas de E/S largas. En el modelo de compra de núcleo virtual, puede escalar verticalmente los núcleos virtuales o cambiar a Crítico para la empresa o Hiperescala si no tiene suficiente IOPS. En el caso de las cargas de trabajo de producción, al usar DTU, se recomienda pasar al nivel Premium.

La latencia de E/S es otro componente clave para el rendimiento de E/S. Para obtener una latencia de E/S más rápida en Azure SQL Database, considere la posibilidad de usar Crítico para la empresa o Hiperescala. Para obtener una latencia de E/S más rápida en SQL Managed Instance, cambie a Crítico para la empresa o aumente el tamaño de archivo o el número de archivos de la base de datos. Es posible que, para mejorar la latencia del registro de transacciones, tenga que usar transacciones de varias instrucciones.

Aumento de la memoria o los trabajos

Tener suficiente memoria o trabajos puede ser importante para la aplicación y la implementación. Para Azure SQL Database, escale verticalmente los núcleos virtuales para incrementar los límites de memoria o los trabajos. Para SQL Managed Instance, escale verticalmente los núcleos virtuales para aumentar los límites de memoria. Actualmente, SQL Managed Instance también permite aumentar los trabajos por medio de "max worker threads".

Mejora de la latencia de la aplicación

Incluso si configura la implementación para todas las necesidades de recursos, es posible que las aplicaciones presenten problemas de rendimiento de latencia. Asegúrese de seguir estos procedimientos recomendados con las aplicaciones de Azure SQL:

  • Use un tipo de conexión de redireccionamiento en lugar del proxy.
  • Puede optimizar las aplicaciones muy "activas" usando procedimientos almacenados, o bien limitando el número de recorridos de ida y vuelta de consultas a través de técnicas como los lotes.
  • Para optimizar las transacciones, agrúpelas, en lugar de usar transacciones singleton.

Ajustes similares a los de SQL Server

Azure SQL sigue siendo SQL Server. Casi nunca hay un sustituto para asegurarse de que se optimizan las consultas de SQL Server y se observa lo siguiente:

  • Diseño adecuado de los índices
  • Uso de lotes
  • Utilizar procedimientos almacenados
  • Parametrización de consultas para evitar demasiadas consultas ad hoc en la memoria caché
  • Procesamiento rápido y correcto de los resultados de la aplicación

En el siguiente ejercicio, tomará el problema de rendimiento del primero y lo mejorará mediante el escalado de las CPU para Azure SQL.