Gestionar un gran número de tablas

El recomendador de gran número de tablas de Cloud SQL te ayuda a detectar instancias cuyo número de tablas es demasiado alto y está cerca del límite del SLA. A continuación, ofrece recomendaciones sobre cómo optimizar esas instancias y mejorar su rendimiento.

En esta página se describe cómo funciona el recomendador de un número elevado de tablas y cómo puedes usarlo.

Cómo funciona

Si tiene 50.000 o más tablas de base de datos en una sola instancia, es posible que la instancia deje de responder o no pueda realizar operaciones de mantenimiento, y la instancia no estará cubierta por el SLA.

El recomendador de gran número de tablas de Cloud SQL analiza las métricas del número de tablas de una instancia de Cloud SQL MySQL. Si el número de tablas es igual o superior al 80% del límite del SLA, que es de 50.000 tablas, se considera que la instancia tiene un número elevado de tablas.

Precios

El recomendador de gran número de tablas abiertas de Cloud SQL está incluido en el nivel de precios estándar de Recomendaciones.

Antes de empezar

Para poder ver recomendaciones y estadísticas, haz lo siguiente:

  • Para obtener los permisos necesarios para ver y usar las estadísticas y las recomendaciones, asegúrate de que tienes los roles necesarios.
    Tasks Roles
    Ver recomendaciones Uno de estos roles: recommender.cloudsqlViewer o cloudsql.viewer.
    Aplicar recomendaciones Uno de estos roles: recommender.cloudsqlAdmin, cloudsql.editor o cloudsql.admin.
    Para obtener más información sobre los roles, consulta los artículos sobre descripción de roles y concesión de permisos de gestión de identidades y accesos.
  • Enable the Recommender API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Mostrar recomendaciones para mejorar el rendimiento de las instancias

Puedes consultar las recomendaciones para mejorar el rendimiento de las instancias mediante la Google Cloud consolagcloud CLI, gcloud CLI o la API Recommender.

Las recomendaciones para mejorar el rendimiento de las instancias solo se muestran si tienes instancias que se acercan a los límites del umbral de rendimiento.

Consola

Para ver las recomendaciones sobre el rendimiento de las instancias mediante la consola deGoogle Cloud , sigue estos pasos:

  1. Ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. En el banner de recomendaciones "Gestionar un número elevado de tablas", haz clic en Ver todas.

También puedes seguir estos pasos:

  1. Ve al centro de recomendaciones. Consulta también el artículo Primeros pasos con el centro de recomendaciones.

    Ir al centro de recomendaciones

  2. En la tarjeta Mejorar el rendimiento de la instancia de Cloud SQL, haz clic en Ver todo.

  3. Seleccione las instancias con la recomendación Gestionar un número elevado de tablas.

CLI de gcloud

Para enumerar las recomendaciones de mejora del rendimiento de las instancias mediante gcloud CLI, ejecuta el comando gcloud recommender recommendations list de la siguiente manera:

gcloud recommender recommendations list \
--project=PROJECT_ID \
--location=LOCATION \
--recommender=google.cloudsql.instance.PerformanceRecommender \
--filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto
  • LOCATION: una región, como us-central1

API

Para mostrar las recomendaciones de mejora del rendimiento de las instancias mediante la API Recommendations, llama al método recommendations.list de la siguiente manera:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • LOCATION: una región, como us-central1.

Si el recomendador detecta instancias con un número elevado de tablas, las muestra en una tabla junto con otras recomendaciones de rendimiento. En cada fila se muestra el ID de la instancia, una breve recomendación, el motor de la base de datos, la ubicación y la fecha de la última actualización.

Ver estadísticas y recomendaciones detalladas

Para ver estadísticas y recomendaciones detalladas sobre las instancias que tienen un número elevado de tablas, puedes usar la Google Cloud consolagcloud CLI o la API Recommender.

Consola

Para ver estadísticas y recomendaciones detalladas sobre las instancias que están cerca del umbral de rendimiento mediante la consola Google Cloud , haga clic en el enlace de la recomendación en la lista de instancias.

CLI de gcloud

Para ver estadísticas y recomendaciones detalladas sobre las instancias que se acercan al umbral de rendimiento mediante gcloud CLI, ejecuta el comando gcloud recommender insights list de la siguiente manera:

gcloud recommender insights list \
--project=PROJECT_ID \
--location=LOCATION \
--insight-type=google.cloudsql.instance.PerformanceInsight \
--filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_TABLES

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • LOCATION: una región, como us-central1.

API

Para ver estadísticas y recomendaciones detalladas sobre las instancias que están cerca del umbral de rendimiento mediante la API Recommendations, llama al método insights.list de la siguiente manera:

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTables/insights

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • LOCATION: una región, como us-central1.

En la siguiente tabla se muestran los datos y las recomendaciones que genera el recomendador de gran número de tablas abiertas de Cloud SQL para ayudarte a mejorar el rendimiento. Los subtipos se pueden ver en los resultados de gcloud CLI y de la API.

Insight Recomendación
El número de tablas de esta instancia es igual o superior al 80% del límite del SLA, que es de 50.000 tablas.
Subtype: MYSQL_HIGH_NUMBER_OF_TABLES
Mejora el rendimiento de la instancia de Cloud SQL reduciendo el número de tablas.
Subtype: MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE

Aplicar recomendaciones

Evalúa las recomendaciones detenidamente y haz lo siguiente:

  • Para examinar la instancia, haz clic en Ver instancia. Consulte Optimizar el rendimiento de su instancia y siga las recomendaciones.

  • Para rechazar la recomendación y que aparezca atenuada, haz clic en Rechazar.

  • Para cerrar el panel sin aplicar ni rechazar la recomendación, haz clic en Cancelar.

Optimizar el rendimiento de una instancia

  • Edita tu instancia para aumentar el número de vCPUs a al menos 32 núcleos y el tamaño de la memoria a al menos 200 GB. De esta forma, el límite de tablas de la instancia aumenta de 50.000 a 500.000.

  • Elimina las tablas innecesarias:

    DROP TABLE TABLE_NAME; 

    Haz los cambios siguientes:

    • TABLE_NAME: Nombre de la tabla que quieres eliminar.
  • Reduce el número de tablas por instancia dividiendo la base de datos en varias instancias para que el número de tablas de cada instancia no supere los límites recomendados.

  • Si no puedes reducir inmediatamente el número de tablas, puedes reducir la probabilidad de que tu instancia se vea afectada por el gran número de tablas desactivando la marca innodb_file_per_table. Para desactivar el valor de la marca innodb_file_per_table, consulta Configurar una marca de base de datos. Sin embargo, este ajuste no hace que la instancia vuelva a cumplir el SLA. Consulta estas directrices operacionales.

  • Usa un tablespace general para crear tablas o mover tablas a un tablespace general. Para obtener más información, consulta la documentación de MySQL sobre los espacios de tablas generales.

Siguientes pasos