Aumenta el tamaño de la caché abierta de la tabla

El recomendador de alto número de tablas abiertas de Cloud SQL te ayuda a detectar instancias cuya cantidad de tablas abiertas al mismo tiempo es igual al valor de table_open_cache. Luego, proporciona recomendaciones para optimizar esas instancias para mejorar el rendimiento.

En esta página, se describe cómo funciona el recomendador de gran cantidad de tablas abiertas y cómo puedes usarlo.

Cómo funciona

MySQL es multiproceso, y los clientes pueden emitir una consulta en la misma tabla de forma simultánea desde varios subprocesos. Por lo tanto, MySQL puede tener tablas abiertas de forma independiente para cada sesión. table_open_cache administra la cantidad de tablas abiertas al mismo tiempo. Si la caché está llena y se abren tablas adicionales, MySQL cierra la tabla menos usada recientemente. Si todas las tablas en caché se están usando, MySQL extiende la caché de forma temporal y cierra las tablas en cuanto se dejan de usar.

Si la cantidad de tablas abiertas supera el valor de table_open_cache, el rendimiento de la base de datos puede verse afectado durante una carga de trabajo alta. Esto se debe a que se crean más subprocesos y los controladores de tablas deben abrir y cerrar las tablas con más frecuencia.

El recomendador de Cloud SQL de alta cantidad de tablas abiertas analiza las métricas de la cantidad de tablas abiertas en una instancia de MySQL de Cloud SQL. Si la cantidad de tablas abiertas aumenta en 1 cada 2 segundos o más rápido en las 24 horas anteriores y la cantidad de tablas abiertas es igual o mayor que el valor de table_open_cache, el recomendador te recomienda ajusta la marca table_open_cache.

Precios

El recomendador de Cloud SQL de cantidad alta de tablas está en el nivel de precios del recomendador Estándar.

Antes de empezar

Antes de ver las recomendaciones y estadísticas, haz lo siguiente:

  • Si deseas obtener los permisos para ver estadísticas y recomendaciones y trabajar con ellas, asegúrate de tener los roles requeridos.
    Tareas Funciones
    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 Información sobre los roles y Otorga permisos de IAM.
  • Enable the Recommender API.

    Enable the API

Enumera las recomendaciones de rendimiento de las instancias

Puedes enumerar las recomendaciones de rendimiento de la instancia a través de la consola de Google Cloud, gcloud CLI o la API del recomendador.

Las recomendaciones de rendimiento de las instancias mejoradas solo se muestran si tienes instancias que están por alcanzar los límites de umbral de rendimiento.

Console

Para enumerar recomendaciones sobre el rendimiento de las instancias a través de la consola de Google Cloud, sigue estos pasos:

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

    Ir a Instancias de Cloud SQL

  2. Haz clic en Ver todo en el banner de recomendaciones Aumentar caché de tabla abierta.

De forma alternativa, sigue estos pasos:

  1. Ve al Centro de recomendaciones. Consulta también Empieza a usar el Centro de recomendaciones.

    Ir al Centro de recomendaciones

  2. En la tarjeta Mejora el rendimiento de las instancias de Cloud SQL, haz clic en Ver todo.

  3. Selecciona las instancias con la recomendación Aumentar caché abierta de tablas.

gcloud CLI

Para mostrar una lista de las recomendaciones de rendimiento de la instancia mejorada a través de 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_OPEN_TABLES_BEST_PRACTICE

Reemplaza lo siguiente:

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

API

Para mostrar una lista de las recomendaciones de rendimiento de la instancia a través de la API de 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

Reemplaza lo siguiente:

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

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

Visualiza las estadísticas y las recomendaciones detalladas

Puedes ver estadísticas y recomendaciones detalladas sobre las instancias que tienen una gran cantidad de tablas abiertas a través de la consola de Google Cloud, gcloud CLI o la API del recomendador.

Console

Para ver estadísticas y recomendaciones detalladas sobre las instancias que están cerca del umbral de rendimiento a través de la consola de Google Cloud, haz clic en el vínculo de recomendación en la lista de instancias.

gcloud CLI

Para ver estadísticas y recomendaciones detalladas sobre las instancias que están cerca del límite de rendimiento a través de 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_OPEN_TABLES

Reemplaza lo siguiente:

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

API

Para ver estadísticas y recomendaciones detalladas sobre las instancias que tienen una gran cantidad de tablas abiertas a través de la API de recomendaciones, llama a insights.list de la siguiente manera:

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

Reemplaza lo siguiente:

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

En la siguiente tabla, se enumeran las estadísticas y recomendaciones que genera el recomendador de cantidad alta de tablas abiertas de Cloud SQL para ayudarte a mejorar el rendimiento. Los subtipos se pueden ver en los resultados de gcloud CLI y la API.

Estadística Recomendación
La cantidad de tablas abiertas es igual al valor de la marca table_open_cache.
Subtipo: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
Reduce la cantidad de tablas abiertas para aumentar el rendimiento de las instancias de Cloud SQL.
Subtipo: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE

Aplicar recomendaciones

Evalúa las recomendaciones con cuidado y realiza una de las siguientes acciones:

  • Para examinar la instancia, haz clic en Ver instancia. Consulta Optimiza el rendimiento de tu instancia y sigue las recomendaciones.

  • Para descartar la recomendación, de modo de restarle énfasis y que aparezca atenuada, haz clic en Descartar.

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

Optimiza el rendimiento de la instancia

Para optimizar el rendimiento de tu instancia, realiza una de las siguientes acciones:

  1. Aumenta el valor de table_open_cache en 500 hasta que la recomendación desaparezca. La recomendación se actualiza a diario, por lo que, después de aumentar el valor de table_open_cache, espera 24 horas antes de volver a comprobarlo.

  2. Si el valor de open_tables es mayor que table_open_cache, aumenta el valor de table_open_cache al valor de open_tables.

    Para obtener información sobre cómo actualizar una marca de base de datos, consulta Configura marcas de base de datos.

¿Qué sigue?