A otimização e o monitoramento do desempenho de bancos de dados são tarefas essenciais para administradores e desenvolvedores. O recurso Performance Insight (Nova Versão) do Database Autonomy Service (DAS) utiliza o performance_schema do MySQL para coletar informações de SQL, detectar problemas de desempenho rapidamente e fornecer planos de correção que melhoram a estabilidade e a eficiência do sistema. Além disso, identifica tabelas e índices sem tráfego, permitindo avaliar e limpar dados não utilizados para aumentar a utilização do armazenamento e aprimorar o desempenho do banco de dados.
Pré-requisitos
-
A instância de banco de dados deve ser:
-
RDS MySQL
NotaO RDS MySQL Basic Edition não é compatível.
O RDS MySQL 5.5 não é compatível.
MyBase MySQL
PolarDB for MySQL
-
A instância de banco de dados precisa ter pelo menos 8 GB de memória.
-
O performance_schema deve estar ativado na instância de banco de dados. Para obter instruções, consulte Enable Performance Schema. Caso não esteja ativado, o sistema solicitará que você acesse uma página específica para configurar os parâmetros ao iniciar o service.
NotaAtivar o performance_schema consome alguns recursos da instância de banco de dados. Para mais detalhes, consulte Performance Schema stress test report.
A instância de banco de dados deve estar em uma das seguintes regiões: China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Shenzhen), China (Chengdu), China (Hong Kong), Singapore, Malaysia (Kuala Lumpur) ou Indonesia (Jakarta).
Faturamento
O Performance Insight é um recurso premium das edições DAS Economy Edition e Enterprise Edition V3. As instâncias localizadas em regiões compatíveis com essas edições são cobradas conforme a edição ativada.
Para verificar as regiões compatíveis com o DAS Economy Edition e Enterprise Edition V3, consulte Supported databases and regions for each edition.
Para detalhes sobre o faturamento do DAS Economy Edition e Enterprise Edition V3, consulte Billing details.
Nas regiões onde o DAS Economy Edition e o Enterprise Edition V3 ainda não são compatíveis, o Performance Insight permanece disponível gratuitamente como preview público. Quando o suporte a essas edições for disponibilizado nessas regiões, o preview público gratuito será encerrado e o Performance Insight passará a ser um recurso premium do DAS Economy Edition e Enterprise Edition V3.
Recursos
O Performance Insight (Nova Versão) utiliza o performance_schema do MySQL para coletar informações de SQL, ajudando você a avaliar a carga de trabalho do banco de dados alvo e identificar a causa raiz de problemas de desempenho.
Localize rapidamente o Resource Usage, as Executions, as Scanned Rows e a Execution Duration de todas as instruções SQL.
Visualize tendências de desempenho para diferentes métricas do banco de dados alvo e informações detalhadas sobre instruções SQL específicas.
Consulte informações detalhadas sobre instruções SQL alvo usando SQL ID ou palavras-chave.
Acompanhe as tendências de Resource Usage, Executions, Scanned Rows e Execution Duration para instruções SQL alvo, juntamente com informações de amostra de SQL.
Aplique limitação de taxa e otimização às instruções SQL alvo.
Compare o Resource Usage, as Executions, as Scanned Rows e a Execution Duration de todas as instruções SQL entre diferentes períodos. Também é possível comparar métricas detalhadas de instruções SQL específicas entre períodos.
-
Visualize tabelas sem tráfego e índices sem tráfego. O DAS coleta dados de uso de tabelas e índices diariamente à meia-noite, determina se ainda estão em uso e rastreia há quantos dias não apresentam tráfego.
NotaSe um índice comum for utilizado por instruções SQL de negócios, mas nenhuma dessas consultas retornar linhas (número de linhas retornadas igual a 0), o uso do índice não será registrado e ele será identificado como um índice sem tráfego.
A duração mínima sem tráfego é de 7 dias. Após ativar a identificação de tabelas e índices sem tráfego, aguarde pelo menos 7 dias antes de visualizar esses dados.
Antes de excluir um índice sem tráfego, avalie cuidadosamente os logs de auditoria de SQL e as informações do lado do negócio para confirmar que a remoção do índice é segura.
Em comparação com a versão original, a nova versão oferece dimensões de métricas e opções de visualização mais ricas:
Item de comparação | Performance Insight (Nova Versão) | |
Dimensões de métricas |
|
|
Métodos de visualização |
| Visualize tendências e detalhes de métricas para instruções SQL alvo dentro de um intervalo de tempo especificado. |
Opções de correção | Aplique limitação de taxa e otimização às instruções SQL alvo. | Otimize as instruções SQL alvo. |
Mecanismos de banco de dados compatíveis | Atualmente compatível com RDS MySQL, PolarDB for MySQL e MyBase MySQL. | Atualmente compatível com RDS MySQL, RDS PostgreSQL, PolarDB for MySQL, PolarDB for PostgreSQL, MyBase MySQL e PolarDB for PostgreSQL (Compatible with Oracle). |
Procedimento
Faça login no console do DAS.
No painel de navegação à esquerda, clique em .
Encontre a instância alvo e clique no ID da instância para abrir a página de detalhes da instância.
No painel de navegação à esquerda, clique em Performance Insight.
Caso não tenha ativado o Alibaba Cloud Managed Services, você verá um aviso informando You have not activated O&M Service.. Clique em Enable O&M Service. Na página Activate O&M Service, selecione uma Service Duration e clique em Activate.
-
Na aba Performance Insight, clique em Enable Performance Insight.
Se o performance_schema não estiver ativado conforme necessário, o console exibirá a caixa de diálogo Parameter Settings. Siga as instruções na tela e clique em Configure para configure os parâmetros do performance_schema conforme descrito em Enable Performance Schema.
AvisoModificar esses parâmetros exige a reinicialização da instância de banco de dados. Execute essa operação fora dos horários de pico e garanta que sua aplicação possua um mecanismo de reconexão.
Ao ative o Performance Insight, o sistema habilita automaticamente a identificação de tabelas sem tráfego e índices sem tráfego.
ImportanteA partir de 11 de abril de 2023, o Performance Insight inclui a identificação de tabelas e índices sem tráfego. Instâncias que ativarem o Performance Insight após essa data terão esse recurso habilitado automaticamente. Para instâncias que ativaram o Performance Insight antes de 11 de abril de 2023, é possível ative manualmente a Identification for Tables and Indexes with No Traffic nas Service Settings.
-
Na página Performance Insight, utilize as opções Display by Time Range, Display by Comparison e Tables/Indexes para visualize:
-
Display by Time Range:
-
No Quick View, selecione uma métrica (Resource Usage, Executions, Scanned Rows, Execution Duration ou Average Active Sessions), especifique um intervalo de tempo e visualize o gráfico de tendências dessa métrica.
NotaO horário final deve ser posterior ao horário inicial. É possível visualize até sete dias de dados do último mês.
Clique em Export para salve as informações de SQL localmente.
-
Clique em Show para visualize os gráficos de tendências das principais métricas.
NotaClique em Settings e selecione as métricas a serem exibidas na seção Metrics.
Na caixa de diálogo Settings, a seção Metrics inclui: execuções/erros, linhas verificadas/atualizadas, leituras lógicas, leituras físicas, duração média de execução, número de tabelas temporárias criadas, linhas ordenadas, Select_Scan/Select_Range e tendências TOP 5 SQL. Na seção Column settings abaixo, selecione as colunas a serem mostradas na tabela de análise de SQL, como SQL ID, modelo de SQL, banco de dados, proporção de tempo, execuções, tempo médio de execução, média de linhas verificadas, média de linhas retornadas, nome da tabela, duração média de bloqueio e utilização de CPU. Clique em OK ao terminar.
-
Na área da lista de SQL, visualize informações detalhadas sobre as instruções SQL.
NotaClique em Settings e selecione as métricas estatísticas a serem exibidas na lista em Column Settings.
Clique em um SQL ID alvo para visualize os gráficos de tendências de Resource Usage, Executions, Scanned Rows e Execution Duration durante o intervalo de tempo selecionado, juntamente com informações de amostra de SQL.
Clique em Sample na coluna Actions de uma instrução SQL alvo para visualize suas informações de amostra.
Clique em Throttling na coluna Actions de uma instrução SQL alvo. Na página SQL Throttling, configure os parâmetros de limitação de taxa. Para mais detalhes, consulte SQL throttling.
-
Clique em Optimize na coluna Actions de uma instrução SQL alvo. Na caixa de diálogo SQL Diagnostic Optimization, visualize os resultados do diagnóstico.
Se aceitar as recomendações, clique em Copy no canto superior direito e cole o SQL otimizado no seu cliente de banco de dados ou no DMS para executá-lo. Se rejeitar as recomendações, clique em Cancel para encerrar o diagnóstico.
NotaO DAS realiza o diagnóstico de SQL com base na complexidade do SQL, no volume de dados da tabela, na carga do banco de dados e em outros fatores. Os resultados do diagnóstico podem levar mais de 20 segundos para serem retornados. Após o diagnóstico, o mecanismo de diagnósticos de SQL fornece resultados, sugestões de otimização e benefícios esperados. Analise os resultados para decidir se aplica as sugestões.
Você também pode clique em Expert service para adquirir o Database Expert Service. Este service pago oferece suporte profissional além das capacidades padrão do ApsaraDB, incluindo resposta a emergências, verificações de integridade, ajuste de desempenho, suporte a missões críticas e migração de dados.
-
-
Display by Comparison: Selecione pontos no tempo para comparar e visualize os resultados da comparação de Resource Usage, Executions, Scanned Rows e Execution Duration de todas as instruções SQL. Também é possível visualize resultados detalhados da comparação na área da lista de SQL abaixo.
NotaClique em Settings para selecione as métricas estatísticas a serem exibidas na lista.
Tables/Indexes: Defina condições de filtro para consultar Tables with No Traffic e Indexes with No Traffic que atendam aos seus critérios.
-
Desativar o Performance Insight
Faça login no console do DAS.
No painel de navegação à esquerda, clique em .
Encontre a instância alvo e clique no ID da instância para abrir a página de detalhes da instância.
No painel de navegação à esquerda, clique em Performance Insight.
-
Na aba Performance Insight, clique em Service Settings, desative a Feature Setting e clique em OK. Na caixa de diálogo de confirmação, clique em OK para desativar o Performance Insight.
Desativar o Performance Insight também desativa a identificação de tabelas sem tráfego e índices sem tráfego. Você também pode desativar a opção Identification for tables and indexes with no traffic is disabled. separadamente. Após desativar esse recurso, o DAS exclui os dados de tabelas e índices sem tráfego, juntamente com seus dados de uso.
ImportanteApós desativar o Performance Insight, o DAS interrompe a coleta de dados e exclui todos os dados históricos, incluindo dados de tabelas e índices sem tráfego e seus respectivos dados de uso.
Referências
Ative os recursos de autonomia do DAS para automatizar a correção de problemas de desempenho do banco de dados.