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
ocloudsql.viewer
.Aplicar recomendaciones Uno de estos roles: recommender.cloudsqlAdmin
,cloudsql.editor
ocloudsql.admin
. -
Enable the Recommender 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:
Ve a la página Instancias de Cloud SQL.
Haz clic en Ver todo en el banner de recomendaciones Aumentar caché de tabla abierta.
De forma alternativa, sigue estos pasos:
Ve al Centro de recomendaciones. Consulta también Empieza a usar el Centro de recomendaciones.
En la tarjeta Mejora el rendimiento de las instancias de Cloud SQL, haz clic en Ver todo.
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 proyectoLOCATION
: Es una región, comous-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 proyectoLOCATION
: Es una región, comous-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 proyectoLOCATION
: Es una región, comous-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 proyectoLOCATION
: Es una región, comous-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:
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 detable_open_cache
, espera 24 horas antes de volver a comprobarlo.Si el valor de
open_tables
es mayor quetable_open_cache
, aumenta el valor detable_open_cache
al valor deopen_tables
.Para obtener información sobre cómo actualizar una marca de base de datos, consulta Configura marcas de base de datos.
¿Qué sigue?
- Administra una gran cantidad de tablas
- Supervisa la disponibilidad del disco
- Identifica instancias de Cloud SQL inactivas
- Reduce las instancias de Cloud SQL sobreaprovisionadas
- Explora los recomendadores de Google Cloud.