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.
Para mais informações sobre funções, consulte os artigos Compreender as funções e Conceder autorizações de IAM.Tasks Funções Ver recomendações Uma destas funções: recommender.cloudsqlVieweroucloudsql.viewer.Aplique recomendações Uma destas funções: recommender.cloudsqlAdmin,cloudsql.editoroucloudsql.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.enablepermission. 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 Cloud de Confiance 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 Cloud de Confiance 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 Cloud de Confiance 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 Cloud de Confiance 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_tablecomo 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 Cloud de Confiance by S3NS sistemas de recomendação