Lineamientos operativos para instancias de MySQL

El ANS de Cloud SQL excluye interrupciones “causadas por factores externos al control razonable de Google”. En esta página, se describen algunas de las configuraciones controladas por el usuario que pueden hacer que se excluya la interrupción de una instancia de Cloud SQL.

Introducción

Cloud SQL se esfuerza por darte tanto control sobre la configuración de tu instancia como sea posible. Esto incluye algunas configuraciones que aumentan el riesgo de tiempo de inactividad de las instancias, según la carga y otros parámetros de configuración. Si tu instancia falla y Cloud SQL determina que fue por incumplimiento de los límites operativos que se describen en esta página, el período de inactividad no estará cubierto por (o no irá en detrimento de) el ANS de Cloud SQL.

Esta lista de límites operativos tiene el objetivo de informarte qué opciones de configuración presentan estos riesgos, cómo evitar usarlas sin darte cuenta y cómo mitigar los riesgos cuando se requieren para el entorno de tu empresa.

Configuraciones excluidas

Las configuraciones excluidas se dividen en las siguientes categorías:

  • Requisitos generales de configuración
  • Valores de marcas de base de datos
  • Restricciones de recursos

Requisitos generales de configuración

El ANS solo cubre las instancias de Cloud SQL configuradas para alta disponibilidad con al menos una CPU dedicada. No cubre las instancias de núcleo compartido y de zona única.

Valores de marcas de base de datos

Cloud SQL te permite configurar la instancia con marcas de base de datos. Algunos de estos marcadores se pueden configurar en formas que pueden comprometer la estabilidad de la instancia o la durabilidad de sus datos.

La siguiente tabla muestra los marcadores que tienen valores que pueden dar como resultado una exclusión del ANS:

Marcador Descripción Configuración excluida Posible impacto Mitigación
general_log Habilita el registro general de MySQL. Activada, con el marcador log_output establecido en TABLE Reinicios lentos. Establece la marca log_output en FILE.
slow_query_log Habilita el registro lento de consultas de MySQL. Activada, con el marcador log_output establecido en TABLE Reinicios lentos. Establece la marca log_output en FILE.
max_heap_table_size Determina el tamaño de la tabla de memoria. Mayor que el valor predeterminado. Interrupción de la instancia debido a un error por falta de memoria (OOM). Mantén la configuración predeterminada.
tmp_table_size Determina el tamaño de la tabla temporal. Mayor que el valor predeterminado. Interrupción de la instancia debido a un error por falta de memoria (OOM). Mantén la configuración predeterminada, o planifica cuidadosamente tu carga de trabajo para evitar exceder la capacidad de la instancia.
query_cache_size y query_cache_type Juntos, estas marcas determinan el tamaño de la caché de la consulta. Mayor que el valor predeterminado. Interrupción de la instancia debido a un error por falta de memoria (OOM). Mantén la configuración predeterminada, o planifica cuidadosamente tu carga de trabajo para evitar exceder la capacidad de la instancia.

Restricciones de recursos

Se deben evitar estas restricciones de recursos para mantener la cobertura del ANS:

Restricción Descripción Detección Solución Prevención
Almacenamiento lleno Si tu instancia se queda sin almacenamiento y la capacidad de aumento automático del almacenamiento está desactivada, tu instancia se quedará sin conexión; esta interrupción no está cubierta por el ANS. Puedes ver la cantidad de almacenamiento que usa tu instancia en la página Detalles de la instancia en Cloud Console. Más información

Configura una alerta de Stackdriver para supervisar el uso de almacenamiento y recibir alertas en un límite especificado. Más información

Aumenta el tamaño de almacenamiento para la instancia. Aunque el tamaño del almacenamiento se puede aumentar, no se puede disminuir. Habilita el aumento automático del almacenamiento para la instancia. Más información
CPU sobrecargada Si el uso de CPU está por encima del 98% durante 6 horas, tu instancia no tiene el tamaño adecuado para tu carga de trabajo y esto no está cubierto por el ANS. Puedes ver el porcentaje de CPU disponible que usa tu instancia en la página Detalles de la instancia en Cloud Console. Más información

Configura una alerta de Stackdriver para supervisar el uso de CPU y recibir alertas en un límite especificado. Más información

Aumenta el número de CPU para tu instancia. Ten en cuenta que cambiar tu nivel requiere que reinicies la instancia.

Si tu instancia ya tiene la cantidad máxima de CPU, fragmenta la base de datos en varias instancias.

Supervisa el uso de CPU y aumenta su cantidad cuando sea necesario. Ten en cuenta que, a fin de cambiar el nivel de tu instancia, debes reiniciarla.
Demasiadas tablas de base de datos Si en una sola instancia hay 10,000 tablas de base de datos o más, la instancia podría dejar de responder o realizar operaciones de mantenimiento y eso no está cubierto por el ANS. Para ver cuántas tablas hay en tu instancia ejecuta SELECT COUNT(*) FROM information_schema.tables; . A fin de ver cuántas tablas hay en cada base de datos, ejecuta SELECT TABLE_SCHEMA,COUNT(*) FROM information_schema.tables group by TABLE_SCHEMA; . Reduce el número de tablas a menos de 10,000.

Si no puedes reducir de inmediato la cantidad de tablas, puedes reducir la probabilidad de que tu cuenta se vea afectada por el recuento alto de tablas. Para esto, establece la marca innodb_file_per_table en OFF; sin embargo, esta configuración no hace que la instancia vuelva a cumplir con el ANS.

Si la arquitectura de los datos requiere muchas tablas, divide los datos en varias instancias.