O recomendador de número elevado de tabelas do Cloud SQL ajuda a detetar instâncias cujo número de tabelas é demasiado elevado e está perto do limite do SLA. Em seguida, fornece recomendações sobre como otimizar essas instâncias e melhorar o desempenho das instâncias.
Esta página descreve como funciona o recomendador de um número elevado de tabelas e como o pode usar.
Como funciona
Se tiver 50 000 ou mais tabelas de base de dados numa única instância, a instância pode deixar de responder ou não conseguir realizar operações de manutenção, e a instância não é abrangida pelo SLA.
O recomendador de número elevado de tabelas do Cloud SQL analisa as métricas do número de tabelas numa instância do Cloud SQL MySQL. Se o número de tabelas for superior ou igual a 80% do limite do SLA, que permite 50 000 tabelas, considera-se que a instância tem um número elevado de tabelas.
Preços
O recomendador de número elevado de tabelas abertas do Cloud SQL está no nível de preços do recomendador Standard.
Antes de começar
Antes de poder ver recomendações e estatísticas, faça o seguinte:
- Para receber as autorizações para ver e trabalhar com estatísticas e recomendações,
certifique-se de que tem as funções necessárias.
Tasks Funções Ver recomendações Uma destas funções: recommender.cloudsqlViewer
oucloudsql.viewer
.Aplique recomendações Uma destas funções: recommender.cloudsqlAdmin
,cloudsql.editor
oucloudsql.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.
Apresente recomendações para melhorar o desempenho das instâncias
Pode listar as recomendações de melhoria do desempenho da instância através da Google Cloud consolagcloud CLI
ou da API Recommender.
As recomendações para melhorar o desempenho das instâncias são apresentadas apenas se tiver instâncias que se estejam a aproximar dos limites do limite de desempenho.
Consola
Para ver recomendações sobre o desempenho das instâncias através da Google Cloud consola, siga estes passos:
Aceda à página Instâncias do Cloud SQL.
Clique em Ver tudo na faixa de recomendações de gestão de um número elevado de tabelas.
Em alternativa, siga estes passos:
Aceda ao Active Assist. Consulte também o artigo Começar a usar o Centro de Recomendações.
No cartão Melhore o desempenho da instância do Cloud SQL, clique em Ver tudo.
Selecione as instâncias com a recomendação Gerir um número elevado de tabelas.
CLI gcloud
Para apresentar uma lista de recomendações de melhoria do desempenho das instâncias através de gcloud CLI
, execute o comando gcloud recommender recommendations list
da seguinte forma:
gcloud recommender recommendations list \ --project=PROJECT_ID \ --location=LOCATION \ --recommender=google.cloudsql.instance.PerformanceRecommender \ --filter=recommenderSubtype=MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE
Substitua o seguinte:
PROJECT_ID
: o ID do seu projetoLOCATION
: uma região, comous-central1
API
Para apresentar uma lista de recomendações de melhoria do desempenho das instâncias através da API Recommendations, chame o método recommendations.list
da seguinte forma:
GET https://recommender.googleapis.com/v1beta1/projects/PROJECT-ID/locations/LOCATION/recommenders/google.cloudsql.instance.PerformanceRecommender.MySqlHighNumberOfTablesBestPractice/recommendations
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.LOCATION
: uma região, comous-central1
.
Se o motor de recomendações detetar instâncias com um número elevado de tabelas, apresenta-as numa tabela com outras recomendações de desempenho. Cada linha mostra o ID da instância, uma breve recomendação, o motor da base de dados, a localização e a data da última atualização.
Veja estatísticas e recomendações detalhadas
Pode ver estatísticas e recomendações detalhadas sobre instâncias com um número elevado de tabelas através da Google Cloud consolagcloud CLI
ou da API Recommender.
Consola
Para ver estatísticas e recomendações detalhadas sobre instâncias que estão perto do limite de desempenho através da Google Cloud consola, clique no link de recomendação na lista de instâncias.
CLI gcloud
Para ver estatísticas e recomendações detalhadas sobre instâncias que estão perto do limite de desempenho através de gcloud CLI
, execute o comando gcloud recommender insights list
da seguinte forma:
gcloud recommender insights list \ --project=PROJECT_ID \ --location=LOCATION \ --insight-type=google.cloudsql.instance.PerformanceInsight \ --filter=insightSubtype=MYSQL_HIGH_NUMBER_OF_TABLES
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.LOCATION
: uma região, comous-central1
.
API
Para ver estatísticas e recomendações detalhadas sobre instâncias que estão perto do limite de desempenho
através da 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.MySqlHighNumberOfTables/insights
Substitua o seguinte:
PROJECT_ID
: o ID do seu projeto.LOCATION
: uma região, comous-central1
.
A tabela seguinte apresenta a estatística e a recomendação que o recomendador high-number-of-open-tables do Cloud SQL gera para ajudar a melhorar o desempenho.
Os subtipos são visíveis nos resultados da gcloud CLI
e da API.
Insight | Recomendação |
---|---|
O número de tabelas nesta instância é igual ou superior a 80% do limite do SLA, que é de 50 000 tabelas. Subtype: MYSQL_HIGH_NUMBER_OF_TABLES
|
Melhore o desempenho da instância do Cloud SQL reduzindo o número de tabelas. Subtype: MYSQL_HIGH_NUMBER_OF_TABLES_BEST_PRACTICE
|
Aplique recomendações
Avalie cuidadosamente as recomendações e faça uma das seguintes ações:
Para examinar a instância, clique em Ver instância. Consulte o artigo Otimize o desempenho da sua instância e siga as recomendações.
Para ignorar a recomendação de modo que seja desvalorizada e apareça esbatida, clique em Ignorar.
Para fechar o painel sem aplicar nem ignorar a recomendação, clique em Cancelar.
Otimize o desempenho da sua instância
Edite a sua 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. Isto aumenta o limite de tabelas da instância de 50 000 para 500 000.
Elimine tabelas desnecessárias:
DROP TABLE TABLE_NAME;
Substitua o seguinte:
TABLE_NAME
: nome da tabela que pretende eliminar.
Reduza o número de tabelas por instância dividindo a base 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 puder reduzir imediatamente o número de tabelas, pode reduzir a probabilidade de a sua instância ser afetada pela elevada quantidade de tabelas definindo a flag
innodb_file_per_table
como DESATIVADA. Para desativar o valor da flaginnodb_file_per_table
, consulte o artigo Configure uma flag de base de dados. No entanto, esta definição não repõe a instância em conformidade com o SLA. Consulte estas diretrizes operacionais.Use um tablespace geral para criar tabelas ou mover tabelas existentes para um tablespace geral. Para saber mais, consulte a documentação do MySQL sobre espaços de tabelas gerais.
O que se segue?
- Aumente o tamanho da cache aberta da tabela
- Monitorize a disponibilidade de disco
- Identifique instâncias inativas do Cloud SQL
- Reduza as instâncias do Cloud SQL com aprovisionamento excessivo
- Explore os Google Cloud sistemas de recomendação