O recomendador de alto número de tabelas abertas do Cloud SQL ajuda a detectar instâncias
com um número de tabelas abertas simultaneamente igual ao valor de table_open_cache
. Depois,
serão fornecidas recomendações sobre como otimizar essas instâncias para melhorar o desempenho.
Nesta página, descrevemos como o recomendador de alto número de tabelas abertas funciona e como você pode usá-lo.
Como funciona
O MySQL tem várias linhas de execução, e os clientes podem emitir uma consulta simultaneamente na mesma tabela usando várias linhas de
execução. Assim, o MySQL pode ter tabelas abertas de maneira independente para cada sessão.
O número de tabelas abertas simultaneamente é gerenciado por table_open_cache
.
Se o cache estiver cheio e outras tabelas forem abertas, o MySQL fechará a tabela usada
menos recentemente. Se todas as tabelas em cache estiverem sendo usadas, o MySQL estenderá o cache
temporariamente e fechará as tabelas assim que elas não forem usadas.
Se o número de tabelas abertas exceder o valor de table_open_cache
, o desempenho do banco de dados
poderá ser afetado negativamente durante a alta carga de trabalho. Isso ocorre porque mais linhas de execução são criadas e os gerenciadores de tabelas
precisam abrir e fechar as tabelas com mais frequência.
O recomendador de alto número de tabelas abertas do Cloud SQL analisa métricas do número
de tabelas abertas em uma instância do MySQL do Cloud SQL. Se o número de tabelas abertas aumentar
em 1 a cada 2 segundos ou mais rapidamente nas 24 horas anteriores e o número de tabelas
abertas for igual ou maior que o valor de table_open_cache
, o recomendador aconselha a
ajustar a flag table_open_cache
.
Preços
O recomendador de alto número de tabelas abertas do Cloud SQL está no nível de preço Standard.
Antes de começar
Antes de visualizar as recomendações e insights, faça o seguinte:
- Para conseguir as permissões de visualização e trabalho com insights e recomendações,
verifique se você tem os papéis necessários.
Tarefas Papéis Ver recomendações Um destes papéis: recommender.cloudsqlViewer
oucloudsql.viewer
.Aplicar recomendações Um destes papéis: recommender.cloudsqlAdmin
,cloudsql.editor
, oucloudsql.admin
. -
Enable the Recommender API.
Listar recomendações de desempenho da instância
É possível listar as recomendações de desempenho da instância
usando o console do Google Cloud, a gcloud CLI
ou a API Recommender.
As recomendações para melhorar o desempenho da instância serão exibidas somente se você tiver instâncias que estão perto dos limites de desempenho.
Console
Para listar recomendações sobre o desempenho da instância usando o console do Google Cloud, siga estas etapas:
Acesse a página Instâncias" do Cloud SQL
Clique em Ver tudo no banner de recomendações "Aumentar cache aberto da tabela".
Ou então:
Acesse o Hub de recomendações. Consulte também os Primeiros passos com o Hub de recomendações.
No card Melhorar o desempenho das instâncias do Cloud SQL, clique em Ver tudo.
Selecione as instâncias com a recomendação Aumentar o cache aberto da tabela.
CLI da gcloud
Para listar as recomendações para melhorar o desempenho da instância usando a gcloud CLI
, execute o
comando gcloud recommender recommendations list
da seguinte maneira:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=LOCATION \ --recommender=google.cloudsql.instance.PerformanceRecommender \ --filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE
Substitua:
PROJECT_ID
: o ID do projetoLOCATION
: uma região, comous-central1
;
API
Para listar as recomendações para melhorar o desempenho da instância usando a
API Recommendations, chame o método
recommendations.list
da seguinte maneira:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
Substitua:
PROJECT_ID
: o ID do projetoLOCATION
: uma região, comous-central1
.
Se o recomendador detectar instâncias que tenham um número alto de tabelas abertas, ele as lista em uma tabela com outras recomendações de desempenho. Cada linha mostra o ID da instância, uma breve recomendação, o mecanismo de banco de dados, o local e a data da última atualização.
Ver insights e recomendações detalhadas
É possível visualizar insights e recomendações detalhadas sobre instâncias
que tenham um alto número de tabelas abertas usando o console do Google Cloud,
a gcloud CLI
ou a API Recommender.
Console
Para ver insights e recomendações detalhadas sobre instâncias próximas do limite de desempenho usando o console do Google Cloud, clique no link de recomendação na lista de instâncias.
CLI da gcloud
Para ver insights e recomendações detalhadas sobre instâncias próximas do
limite de desempenho usando a gcloud CLI
, execute o comando
gcloud recommender insights list
da seguinte maneira:
gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
Substitua:
PROJECT_ID
: o ID do projetoLOCATION
: uma região, comous-central1
.
API
Para ver insights e recomendações detalhadas sobre instâncias com um alto número de tabelas abertas usando a API Recommendations,
chame o método insights.list
da seguinte forma:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfOpenTables/insights
Substitua:
PROJECT_ID
: o ID do projetoLOCATION
: uma região, comous-central1
.
A tabela a seguir lista o insight e a recomendação que o recomendador de alto número de tabelas abertas do Cloud SQL
gera para ajudar a melhorar o desempenho.
Os subtipos estão visíveis nos resultados da gcloud CLI
e da API.
Insight | Recomendação |
---|---|
O número de tabelas abertas é igual ao valor da flag table_open_cache .Subtipo: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES
| Reduza o número de tabelas abertas para melhorar o desempenho da instância do Cloud SQL. Subtipo: MYSQL_HIGH_NUMBER_OF_OPEN_TABLES_BEST_PRACTICE
|
Aplicar recomendações
Avalie as recomendações com atenção e siga um destes procedimentos:
Para examinar a recomendação, clique em Visualizar instância. Consulte Otimizar o desempenho da instância e siga as recomendações.
Para dispensar a recomendação de modo que ela não seja enfatizada e apareça escurecida, clique em Dispensar.
Para fechar o painel sem aplicar ou dispensar a recomendação, clique em Cancelar.
Otimizar o desempenho da instância
Para otimizar o desempenho da instância, siga um destes procedimentos:
Aumente o valor de
table_open_cache
em 500 até a recomendação desaparecer. A recomendação é atualizada diariamente. Portanto, depois de aumentar o valor detable_open_cache
, aguarde 24 horas antes de conferir novamente.Se o valor de
open_tables
for maior quetable_open_cache
, aumente o valor detable_open_cache
para o valor deopen_tables
.Para saber como atualizar uma flag do banco de dados, consulte Configurar flags do banco de dados.
A seguir
- Gerenciar um grande número de tabelas
- Monitorar a disponibilidade de disco
- Identificar instâncias inativas do Cloud SQL
- Reduzir o provisionamento de instâncias em excesso do Cloud SQL
- Conheça os recomendadores do Google Cloud