Métricas do Insights de Performance para instâncias de banco de dados - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Métricas do Insights de Performance para instâncias de banco de dados

O Insights de Performance monitora diferentes tipos de métricas, conforme discutido nas seções a seguir.

Carga de banco de dados

A carga do banco de dados (DBLoad) é uma métrica essencial no Insights de Performance que mede o nível de atividade no seu banco de dados. Ela é coletada a cada segundo e publicada automaticamente no Amazon CloudWatch. Ela representa a atividade da instância do banco de dados em média de sessões ativas (AAS), que é o número de sessões que estão executando consultas SQL simultaneamente. A métrica DBLoad é diferente de outras métricas de séries temporais, pois pode ser interpretada usando qualquer uma destas cinco dimensões: esperas, SQL, hosts, usuários e bancos de dados. Essas dimensões são subcategorias da métrica DBLoad. Você pode usá-las segmentadas por categorias para representar diferentes características da carga do banco de dados. Para obter uma descrição detalhada de como calculamos a carga do banco de dados, consulte Carga de banco de dados na documentação do Amazon RDS.

A ilustração de tela a seguir mostra a ferramenta Insights de Performance.

Carga do banco de dados na ferramenta Insights de Performance

Dimensões

  • Eventos de espera são condições em que uma sessão de banco de dados espera pela conclusão de um recurso ou outra operação para continuar seu processamento. Se você executar uma instrução SQL como SELECT * FROM big_table, e se essa tabela for muito maior do que o grupo de buffers alocado do InnoDB, sua sessão provavelmente aguardará eventos de espera wait/io/file/innodb/innodb_data_file, que são causados por operações físicas de E/S no arquivo de dados. Eventos de espera são uma dimensão importante para o monitoramento de banco de dados, pois indicam possíveis gargalos de performance. Os eventos de espera indicam os recursos e as operações pelos quais as instruções SQL que você está executando nas sessões passam a maior parte do tempo esperando. Por exemplo, o evento wait/synch/mutex/innodb/trx_sys_mutex ocorre quando há alta atividade do banco de dados com um grande número de transações, e o evento wait/synch/mutex/innodb/buf_pool_mutex ocorre quando um thread adquiriu um bloqueio no grupo de buffers do InnoDB para acessar uma página na memória. Para obter informações sobre todos os eventos de espera do MariaDB e do MySQL, consulte Wait Event Summary Tables na documentação do MySQL. Para entender como interpretar nomes de instrumentos, consulte Performance Schema Instrument Naming Conventions na documentação do MySQL.

  • O SQL mostra quais instruções SQL estão contribuindo mais para a carga total do banco de dados. A tabela Principais dimensões, localizada abaixo do gráfico Carga do banco de dados no Insights de Performance do Amazon RDS, é interativa. Você pode obter uma lista detalhada dos eventos de espera associados à instrução SQL clicando na barra na coluna Carregar por esperas (AAS). Quando você seleciona uma instrução SQL na lista, o Insights de Performance exibe os eventos de espera associados no gráfico Carga do banco de dados e o texto da instrução SQL na seção Texto SQL. As estatísticas do SQL são exibidas no lado direito da tabela de Principais dimensões.

  • Hosts mostra os nomes dos hosts dos clientes conectados. Essa dimensão ajuda a identificar quais hosts clientes estão enviando a maior parte da carga para o banco de dados.

  • Usuários agrupa a carga do banco de dados por usuários que estão conectados ao banco de dados.

  • Bancos de dados agrupa a carga do banco de dados pelo nome do banco de dados ao qual o cliente está conectado.

Métricas de contador

As métricas de contador são métricas cumulativas cujos valores só podem aumentar ou ser redefinidos para zero quando a instância de banco de dados é reiniciada. O valor de uma métrica de contador não pode ser reduzido ao valor anterior. Essas métricas representam um contador único e monotonicamente crescente.

  • Contadores nativos são métricas definidas pelo mecanismo de banco de dados e não pelo Amazon RDS. Por exemplo:

    • SQL.Innodb_rows_inserted representa o número de linhas inseridas nas tabelas do InnoDB.

    • SQL.Select_scan representa o número de junções que concluíram uma varredura completa da primeira tabela.

    • Cache.Innodb_buffer_pool_reads representa o número de leituras lógicas que o mecanismo do InnoDB não conseguiu recuperar do grupo de buffers e precisou ler diretamente do disco.

    • Cache.Innodb_buffer_pool_read_requests representa o número de solicitações de leitura lógica.

    Para obter definições para essas métricas nativas, consulte Server Status Variables na documentação do MySQL.

  • Contadores não nativos são definidos pelo Amazon RDS. Você pode obter essas métricas usando uma consulta específica ou derivá-las usando duas ou mais métricas nativas nos cálculos. As métricas de contador não nativas podem representar latências, proporções ou taxas de acerto. Por exemplo:

    • Cache.innoDB_buffer_pool_hits representa o número de operações de leitura que o InnoDB pode recuperar do grupo de buffers sem utilizar o disco. É calculado com base nas métricas do contador nativo da seguinte forma:

      db.Cache.Innodb_buffer_pool_read_requests - db.Cache.Innodb_buffer_pool_reads
    • IO.innoDB_datafile_writes_to_disk representa o número de operações de gravação do arquivo de dados do InnoDB no disco. Ele captura somente operações em arquivos de dados, não operações de gravação de doublewrite ou redo logging. É calculado da seguinte forma:

      db.IO.Innodb_data_writes - db.IO.Innodb_log_writes - db.IO.Innodb_dblwr_writes

Você pode visualizar métricas de instâncias de banco de dados diretamente no painel do Insights de Performance. Escolha Gerenciar métricas, depois a guia Métricas do banco de dados, e selecione as métricas de interesse, conforme mostrado na ilustração a seguir.

Seleção de métricas de instâncias de banco de dados no Insights de Performance

Escolha o botão Atualizar grafo para exibir as métricas selecionadas, conforme mostrado na ilustração a seguir.

Visualização de métricas de instâncias de banco de dados no Insights de Performance

Estatísticas SQL

O Insights de Performance coleta métricas relacionadas a performance sobre as consultas SQL para cada segundo de execução de uma consulta e para cada chamada SQL. Em geral, o Insights de Performance coleta estatísticas do SQL nos níveis de instrução e resumo. No entanto, para instâncias de banco de dados MariaDB e MySQL, as estatísticas são coletadas apenas no nível de resumo.

  • As estatísticas de resumo são uma métrica composta de todas as consultas que têm o mesmo padrão, mas que acabam tendo valores literais diferentes. O resumo substitui valores literais específicos por uma variável, por exemplo:

    SELECT department_id, department_name FROM departments WHERE location_id = ?
  • Há métricas que representam estatísticas por segundo para cada instrução SQL resumida. Por exemplo, sql_tokenized.stats.count_star_per_sec representa chamadas por segundo (ou seja, quantas vezes por segundo a instrução SQL foi executada).

  • O Insights de Performance também inclui métricas que fornecem estatísticas por chamada para uma instrução SQL. Por exemplo, sql_tokenized.stats.sum_timer_wait_per_call mostra a latência média da instrução SQL por chamada, em milissegundos.

As estatísticas do SQL estão disponíveis no painel do Insights de Performance na guia SQL principal da tabela Principais dimensões.

Estatísticas SQL