O recomendador de alto número de tabelas do Cloud SQL ajuda a detectar instâncias com contagem de tabelas muito alta e próxima do limite de SLA. Depois, recomendações vão ser fornecidas sobre como otimizar essas instâncias e melhorar o desempenho delas.
Nesta página, descrevemos como recomendador de alto número de tabelas funciona e como você pode ser usado.
Como funciona
Se você tiver 50.000 ou mais tabelas de banco de dados em uma única instância, ela pode parar de responder ou de executar operações de manutenção. Além disso, a instância não vai estar coberta pelo SLA.
O recomendador de alto número de tabelas do Cloud SQL analisa métricas do número de tabelas em uma instância do MySQL do Cloud SQL. Se o número de tabelas for maior ou igual a 80% do limite de SLA, o que permite 50.000 tabelas, a instância vai ser considerada como tendo um alto número de tabelas.
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 para melhorar o desempenho da instância
É possível listar as recomendações para melhorar o desempenho da instância
usando o console do Google Cloud, o 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 "Gerenciar um grande número de tabelas".
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 Gerenciar um grande número de tabelas.
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_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 com alto número de tabelas, elas vão ser listadas 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 têm um grande número de tabelas usando o Console do Google Cloud,
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_TABLES
Substitua:
PROJECT_ID
: o ID do projetoLOCATION
: uma região, comous-central1
.
API
Para ver insights e recomendações detalhadas sobre instâncias próximas do limite de desempenho
usando a API Recommendations,
chame o insights.list
da seguinte forma:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/insightTypes/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTables/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 nesta instância é maior ou igual a 80% do limite do SLA, que é de 50.000 tabelas. Subtipo: MYSQL_HIGH_NUMBER_OF_TABLES
| Aumente o número de tabelas para melhorar o desempenho da instância do Cloud SQL. Subtipo: MYSQL_HIGH_NUMBER_OF_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
Edite a instância para aumentar o número de vCPUs para pelo menos 32 núcleos e o tamanho da memória para pelo menos 200 GB. Isso aumenta o limite de tabelas da instância de 50.000 para 500.000.
Descarte as tabelas desnecessárias:
DROP TABLE TABLE_NAME;
Substitua:
TABLE_NAME
: nome da tabela que você pretende soltar.
Reduza o número de tabelas por instância dividindo o banco de dados em várias instâncias para manter o número de tabelas em cada instância dentro dos limites recomendados.
Se não for possível reduzir imediatamente o número de tabelas, reduza a probabilidade da instância ser afetada pela contagem alta de tabelas. Para isso, defina a sinalização
innodb_file_per_table
como DESATIVADA. Para desativar o valor da sinalizaçãoinnodb_file_per_table
, consulte Configurar uma sinalização de banco de dados. No entanto, essa configuração não leva a instância de volta à conformidade com o SLA. Veja estas diretrizes operacionais.Use um espaço de tabela geral para criar ou mover tabelas atuais para um espaço de tabela geral. Para saber mais, consulte a documentação do MySQL sobre espaços de tabela gerais.
A seguir
- Aumentar o tamanho do cache de abertura da tabela
- 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