Determinación de las necesidades de escalado de servidores de Azure Database for MySQL
Cuando se trata de cambiar el tamaño de los recursos de proceso, considere si el uso existente y previsto está bien dentro de la capacidad. Puede obtener la información necesaria supervisando las métricas básicas de rendimiento, como el uso de CPU y RAM. Es posible usar el registro de consultas lentas para identificar y optimizar las consultas con un rendimiento deficiente y solucionar el problema de rendimiento sin escalar el tamaño de proceso. También debe supervisar el rendimiento de E/S para asegurarse de que las lecturas y escrituras de la base de datos no son un cuello de botella de rendimiento. Otra opción para aumentar eficazmente la capacidad disponible en la base de datos principal es aprovisionar una réplica de lectura para desplazar la carga de consultas.
Supervisión de las métricas de rendimiento de la base de datos
Azure Portal presenta acceso a un número de métricas que puede usar para supervisar el rendimiento de la base de datos. Por ejemplo, puede visualizar el porcentaje de CPU que usa un servidor flexible.
A medida que el uso de la CPU se aproxima al 100 %, el rendimiento de la base de datos se degrada gravemente. Como resultado, si el uso de la CPU en el servidor flexible supera constantemente el 50 %, considere la posibilidad de aumentar el tamaño de proceso.
Puede ver las métricas de rendimiento en el libro de información general de supervisión. Para acceder al libro de información general, siga estos pasos:
En Azure Portal, en el panel izquierdo, en Supervisión de la instancia de servidor flexible de Azure Database for MySQL, seleccione Libros.
Seleccione el libro Información general. Verá gráficos que muestran conexiones, uso de CPU y memoria y otras métricas, como en la captura de pantalla siguiente.
Además de analizar estas métricas, puede ver los diagnósticos del servidor para obtener información sobre el rendimiento en el panel Registros del servidor flexible.
Además de estas métricas y registros, también puede supervisar el Registro de consultas lentas para capturar detalles sobre las consultas de larga duración. Esta información puede revelar consultas lentas existentes para la optimización y puede configurar alertas para detectar inmediatamente regresiones de rendimiento de consultas futuras para la mitigación.
Para habilitar la característica Registro de consultas lentas, en la página asociada con el servidor flexible, seleccione Registros del servidor, y a continuación, active las casillas "Habilitar" y "Registros de consultas lentas".
Una vez habilitado el registro de consultas lentas, puede ver información de rendimiento de consultas mediante análisis de registros o libros de visualización. Para acceder a la información de rendimiento de las consultas, siga los mismos pasos que antes, pero seleccione Información de rendimiento de consultas en lugar de Información general.
Verá varias visualizaciones, incluidas las 5 consultas más largas, o un resumen de consultas lentas, como se muestra en la captura de pantalla siguiente.
Ajuste de los parámetros de rendimiento del servidor
Puede configurar parámetros de servidor MySQL para optimizar el rendimiento en función de la supervisión. Por ejemplo, puede aumentar el valor de innodb_buffer_pool_size
para mantener más datos de tabla en la memoria y ahorrar en lecturas de disco. Puede aumentar el innodb_log_file_size
para reducir la actividad de vaciado del punto de comprobación del grupo de búferes, a costa de una recuperación de bloqueo más lenta.
Si encuentra que las conexiones de aplicación están en cola y la carga del servidor es aceptable, puede aumentar el número de conexiones máximas para permitir más paralelismo.
Para modificar los parámetros del servidor, vaya a Azure Portal para el servidor flexible de MySQL y vaya a la sección Parámetros del servidor. Escriba el nombre del parámetro en la barra de búsqueda o examine el Top o Todos los parámetros de servidor admitidos.
Exploración y habilitación de la característica IOPS de escalabilidad automática
Azure Database for MySQL tiene dos maneras de asignar capacidad de E/S de disco: IOPS preaprovisionadas frente a IOPS de escalado automático (operaciones de E/S por segundo).
IOPS aprovisionadas previamente puede ser preferible cuando la carga de la base de datos es predecible y no se dispara. El servidor obtiene un número base de IOPS aprovisionado y puede asignar IOPS adicionales (hasta el tamaño máximo de proceso) según sea necesario si va a proceso y almacenamiento:
En caso de pico, el rendimiento del servidor podría degradarse temporalmente si las operaciones de E/S superan el valor asignado. Sin embargo, la capacidad y los costos son predecibles.
La característica de IOPS de escalabilidad automática se ha creado para el tráfico impredecible, pico o creciente de bases de datos. Con esta característica habilitada, IOPS se escala dinámicamente, por lo que el ajuste manual no es necesario para optimizar el costo o el rendimiento a medida que fluctúa el flujo de trabajo. Como resultado, el uso de la característica IOPS de escalabilidad automática controla los picos de carga de trabajo no supervisados de forma transparente y solo paga por las operaciones consumidas, no por la capacidad no utilizada.
Para un servidor flexible de MySQL existente, puede habilitar la característica IOPS de escalabilidad automática en Azure Portal; para ello, seleccione Proceso y almacenamiento:
Nota:
También puede habilitar la característica IOPS de escalabilidad automática durante la creación del servidor.
Supervisión de IOPS
La supervisión de IOPS permite determinar la proximidad de la instancia a la IOPS máxima, si usa IOPS aprovisionadas previamente o hasta el máximo del tamaño de proceso si usa la característica IOPS de escalabilidad automática.
Para supervisar el rendimiento de IOPS, vaya a la hoja Métricas de la sección Supervisión o a la hoja Información general, si desea ver el rendimiento de IOPS junto con otras métricas comunes.
En WingTip Toys, ya que prevé un aumento importante del tráfico en momentos imprevisibles a medida que se implementa la campaña de marketing, quiere evitar el riesgo de no poder acomodar los pedidos entrantes. También quiere evitar pagar por la capacidad máxima si realmente no lo necesita. Seleccione usar la característica IOPS de escalabilidad automática en lugar de IOPS aprovisionada previamente, lo que requiere agregar más IOPS manualmente según sea necesario. Este enfoque equilibra la rentabilidad con la escalabilidad a petición.
Aprovisionamiento de una réplica de lectura
Las réplicas de lectura se aprovisionan para descargar consultas de solo lectura en una base de datos independiente, lo que reduce la carga en la base de datos de aplicación principal.
Para aprovisionar una réplica de lectura, en Azure Portal, en la página asociada al servidor flexible, seleccione Replicación, y a continuación, seleccione Agregar réplica.
Después de crear la réplica de lectura, puede configurar el nombre del servidor de réplica y sus valores de proceso y almacenamiento. No puede cambiar algunas opciones de configuración, como la autenticación, que se heredan del servidor principal.
En Wingtip Toys, el equipo de ciencia de datos y las herramientas de informes ahora pueden consultar el servidor de réplica de lectura, lo que reduce la carga en la base de datos principal de la aplicación y elimina la necesidad de limitar el análisis o limitar las consultas fuera del horario laboral.