El recomendador de gran número de tablas abiertas de Cloud SQL te ayuda a detectar instancias cuyo número de tablas abiertas simultáneamente es igual al valor de table_open_cache
. A continuación, ofrece recomendaciones sobre cómo optimizar esas instancias para mejorar el rendimiento.
En esta página se describe cómo funciona el recomendador de un número elevado de tablas abiertas y cómo puede usarlo.
Cómo funciona
MySQL es multihilo y los clientes pueden enviar simultáneamente una consulta en la misma tabla desde varios hilos. Por lo tanto, MySQL puede tener tablas abiertas de forma independiente para cada sesión.
El número de tablas abiertas simultáneamente se gestiona mediante table_open_cache
.
Si la caché está llena y se abren más tablas, MySQL cierra la tabla que se haya usado menos recientemente. Si se están usando todas las tablas de la caché, MySQL amplía la caché temporalmente y cierra las tablas en cuanto dejan de usarse.
Si el número de tablas abiertas supera el valor de table_open_cache
, el rendimiento de la base de datos puede verse afectado negativamente durante cargas de trabajo elevadas. Esto se debe a que se crean más hilos y los controladores de tablas tienen que abrir y cerrar las tablas con más frecuencia.
El recomendador de gran número de tablas abiertas de Cloud SQL analiza diariamente las métricas del número de tablas abiertas en una instancia de Cloud SQL MySQL. Si el número de tablas abiertas aumenta en 1 cada 2 segundos o más rápido en las 24 horas anteriores y el número de tablas abiertas es igual o superior al valor de table_open_cache
, el sistema de recomendaciones te aconseja que ajustes la marca table_open_cache
.
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
ocloudsql.viewer
.Aplicar recomendaciones Uno de estos roles: recommender.cloudsqlAdmin
,cloudsql.editor
ocloudsql.admin
. -
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 theserviceusage.services.enable
permission. Learn how to grant roles.
Mostrar recomendaciones de rendimiento de instancias
Puedes consultar las recomendaciones de rendimiento de las instancias mediante la Google Cloud consolagcloud CLI
, gcloud 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:
Ve a la página Instancias de Cloud SQL.
Haga clic en Ver todas en el banner de recomendaciones de la tabla Aumento de la caché abierta.
También puedes seguir estos pasos:
Ve al centro de recomendaciones. Consulta también el artículo Primeros pasos con el centro de recomendaciones.
En la tarjeta Mejorar el rendimiento de la instancia de Cloud SQL, haz clic en Ver todo.
Seleccione las instancias con la recomendación Aumentar la caché de apertura 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_OPEN_TABLES_BEST_PRACTICE
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyectoLOCATION
: una región, comous-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, comous-central1
.
Si el recomendador detecta instancias que tienen un número elevado de tablas abiertas, 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
Puedes consultar estadísticas y recomendaciones detalladas sobre las instancias que tienen un número elevado de tablas abiertas mediante 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_OPEN_TABLES
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto.LOCATION
: una región, comous-central1
.
API
Para ver estadísticas y recomendaciones detalladas sobre las instancias que tienen un número elevado de tablas abiertas 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.MySqlHighNumberOfOpenTables/insights
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto.LOCATION
: una región, comous-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 abiertas es igual al valor de la marca table_open_cache .Subtype: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
| Aumenta el rendimiento de las instancias de Cloud SQL reduciendo el número de tablas abiertas. Subtype: MYSQL_HIGH_NUMBER_OF_OPEN_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
Para optimizar el rendimiento de su instancia, haga lo siguiente:
Aumenta el valor de
table_open_cache
en 500 hasta que desaparezca la recomendación. La recomendación se actualiza a diario, así que, después de aumentar el valor detable_open_cache
, espera 24 horas antes de volver a consultarla.Si el valor de
open_tables
es superior atable_open_cache
, aumenta el valor detable_open_cache
hasta el valor deopen_tables
.Para obtener información sobre cómo actualizar una marca de base de datos, consulta Configurar marcas de bases de datos.
Siguientes pasos
- Gestionar un gran número de tablas
- Monitorizar la disponibilidad de discos
- Identificar instancias de Cloud SQL inactivas
- Reducir el número de instancias de Cloud SQL con sobreprovisionamiento
- Consultar Google Cloud recomendaciones