Monitorar a consulta paralela do Aurora MySQL - Amazon Aurora

Monitorar a consulta paralela do Aurora MySQL

Se seu cluster do Aurora MySQL usar consulta paralela, você poderá ver um aumento nos valores de VolumeReadIOPS. As consultas paralelas não usam o grupo de buffers. Assim, embora as consultas sejam rápidas, esse processamento otimizado pode resultar em aumento nas operações de leitura e nas cobranças associadas.

Além das métricas do Amazon CloudWatch descritas em Visualizar métricas no console do Amazon RDS, o Aurora fornece outras variáveis de status globais. Você pode usar essas variáveis de status global para ajudar a monitorar a execução de consultas paralelas. Elas podem fornecer informações sobre por que o otimizador pode usar ou não a consulta paralela em determinada situação. Para acessar essas variáveis, use o comando SHOW GLOBAL STATUS. Veja também essas variáveis listadas a seguir.

Uma sessão de consulta paralela não é necessariamente um mapeamento de um para um com as consultas executadas pelo banco de dados. Por exemplo, suponha que o plano de consulta tem duas etapas que usam consulta paralela. Neste caso, a consulta envolve duas sessões paralelas e os contadores das tentativas de solicitações, e as solicitações bem-sucedidas são acrescidas de dois.

Quando você experimenta a consulta paralela executando as instruções EXPLAIN, espere ver aumentos nos contadores designados como "não escolhidos" mesmo que, na realidade, as consultas não estejam sendo executadas. Quando você trabalhar com uma consulta paralela na produção, poderá verificar se os contadores "não escolhidos" são acrescidos com maior rapidez do que o esperado. Nesse caso, você pode ajustar para que a paralela seja executada para as consultas que deseja. Para fazer isso, é possível alterar as configurações do cluster, a combinação de consultas, as instâncias de banco de dados nas quais a consulta paralela está habilitada e assim por diante.

Esse contadores são rastreados no nível da instância de banco de dados. Quando você se conectar a um endpoint diferente, poderá ver métricas diferentes porque cada instância de banco de dados executa seu conjunto próprio de consultas paralelas. Você também poderá ver métricas diferentes quando o endpoint de leitura se conectar a uma instância de banco de dados diferente para cada sessão.

Nome Descrição

Aurora_pq_bytes_returned

O número de bytes de estruturas de dados de tupla transmitidos para o nó de cabeçalho durante as consultas paralelas. Divida por 16.384 para comparar com Aurora_pq_pages_pushed_down.

Aurora_pq_max_concurrent_requests

O número máximo de sessões de consulta paralela que podem ser executadas simultaneamente nesta instância de bancos de dados Aurora. Esse é um número fixo, que depende da classe da instância de banco de dados da AWS.

Aurora_pq_pages_pushed_down

O número de páginas de dados (cada uma com um tamanho fixo de 16 KiB) em que a consulta paralela evitou uma transmissão de rede para o nó de cabeçalho.

Aurora_pq_request_attempted

O número de sessões de consultas paralelas solicitadas. Esse valor pode representar mais de uma sessão por consulta, dependendo dos elementos SQL, como subconsultas e junções.

Aurora_pq_request_executed

O número de sessões de consultas paralelas executadas com êxito.

Aurora_pq_request_failed

O número de sessões de consultas paralelas que retornaram um erro para o cliente. Em alguns casos, uma solicitação por uma consulta paralela pode falhar, por exemplo, devido a um problema na camada de armazenamento. Nesses casos, a parte da consulta que falhou é reprocessada usando um mecanismo de consulta não paralelo. Se a consulta reprocessada também falhar, será retornado um erro para o cliente e o contador será incrementado.

Aurora_pq_request_in_progress

O número de sessões de consultas paralelas em andamento no momento. Esse número se aplica à instância de bancos de dados Aurora em particular à qual você está conectado, e não a todo o cluster de bancos de dados Aurora. Para saber se uma instância de banco de dados está próxima do limite de simultaneidade, compare este valor a Aurora_pq_max_concurrent_requests.

Aurora_pq_request_not_chosen

O número de vezes em que a consulta paralela não foi escolhida para atender uma consulta. Este valor é a soma de vários outros contadores mais granulares. Uma instrução EXPLAIN pode incrementar esse contador mesmo que a consulta não seja realmente executada.

Aurora_pq_request_not_chosen_below_min_rows

O número de vezes em que a consulta paralela não foi escolhida devido ao número de linhas na tabela. Uma declaração EXPLAIN pode incrementar esse contador mesmo que a consulta não seja realmente executada.

Aurora_pq_request_not_chosen_column_bit

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela devido a um tipo de dados sem suporte na lista de colunas projetadas.

Aurora_pq_request_not_chosen_column_geometry

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a tabela tem colunas com o tipo de dados GEOMETRY. Para saber mais sobre as versões do Aurora MySQL que removem essa limitação, consulte Fazer upgrade de clusters de consulta paralela para o Aurora MySQL versão 3.

Aurora_pq_request_not_chosen_column_lob

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a tabela inclui colunas com um tipo de dados LOB ou colunas VARCHAR que são armazenadas externamente devido ao comprimento declarado. Para saber mais sobre as versões do Aurora MySQL que removem essa limitação, consulte Fazer upgrade de clusters de consulta paralela para o Aurora MySQL versão 3.

Aurora_pq_request_not_chosen_column_virtual

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a tabela contém uma coluna virtual.

Aurora_pq_request_not_chosen_custom_charset

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a tabela tem colunas com um conjunto de caracteres personalizado.

Aurora_pq_request_not_chosen_fast_ddl

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a tabela está sendo alterada atualmente por uma instrução ALTER DDL rápida.

Aurora_pq_request_not_chosen_few_pages_outside_buffer_pool

O número de vezes em que a consulta paralela não foi escolhida, ainda que menos de 95 por cento dos dados da tabela já estivessem no grupo de buffers, porque não havia uma quantidade suficiente de dados da tabela fora do buffer que fizesse a consulta paralela valer a pena.

Aurora_pq_request_not_chosen_full_text_index

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a tabela tem índices de texto completo.

Aurora_pq_request_not_chosen_high_buffer_pool_pct

O número de vezes em que a consulta paralela não foi escolhida porque uma alta porcentagem de dados da tabela (no momento, maior do que 95 por cento) já se encontrava no grupo de buffers. Nesses casos, o otimizador determina que a leitura dos dados a partir do grupo de buffers é mais eficiente. Uma declaração EXPLAIN pode incrementar esse contador mesmo que a consulta não seja realmente executada.

Aurora_pq_request_not_chosen_index_hint

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a consulta inclui uma dica de índice.

Aurora_pq_request_not_chosen_innodb_table_format

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a tabela usa um formato de linha InnoDB que não é compatível. A consulta paralela do Aurora só se aplica aos formatos de linha COMPACT, REDUNDANT e DYNAMIC.

Aurora_pq_request_not_chosen_long_trx

O número de solicitações de consultas paralelas que usaram o caminho de processamento de consultas não paralelas, devido à execução da consulta ter sido iniciada dentro de uma transação de execução demorada. Uma declaração EXPLAIN pode incrementar esse contador mesmo que a consulta não seja realmente executada.

Aurora_pq_request_not_chosen_no_where_clause

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a consulta não inclui nenhuma cláusula WHERE.

Aurora_pq_request_not_chosen_range_scan

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a consulta usa uma verificação de intervalo em um índice.

Aurora_pq_request_not_chosen_row_length_too_long

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque o comprimento total combinado de todas as colunas é muito longo.

Aurora_pq_request_not_chosen_small_table

O número de vezes em que a consulta paralela não foi escolhida devido ao tamanho total da tabela, o que é determinado pelo número de linhas e pelo comprimento médio da linha. Uma declaração EXPLAIN pode incrementar esse contador mesmo que a consulta não seja realmente executada.

Aurora_pq_request_not_chosen_temporary_table

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a consulta se refere a tabelas temporárias que usam os tipos de tabela MyISAM ou memory que não têm suporte.

Aurora_pq_request_not_chosen_tx_isolation

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a consulta usa um nível de isolamento de transação sem suporte. Em instâncias de banco de dados do leitor, a consulta paralela se aplica somente aos níveis de isolamento REPEATABLE READ e READ COMMITTED.

Aurora_pq_request_not_chosen_update_delete_stmts

O número de solicitações de consulta paralela que usam o caminho de processamento de consulta não paralela porque a consulta faz parte de uma instrução UPDATE ou DELETE.

Aurora_pq_request_not_chosen_unsupported_access

O número de solicitações de consultas paralelas que usam o caminho de processamento de consultas não paralelas porque a cláusula WHERE não atende aos critérios de consulta paralela. Esse resultado pode ocorrer se a consulta não exigir uma varredura de dados intensiva ou se a consulta for uma instrução DELETE ou UPDATE.

Aurora_pq_request_not_chosen_unsupported_storage_type

O número de solicitações de consulta paralelas que usam o caminho de processamento de consulta não paralelo porque o cluster de banco de dados do Aurora MySQL não está usando uma configuração de armazenamento de cluster compatível do Aurora. Esse parâmetro está disponível no Aurora MySQL versão 3.04 e posterior. Para ter mais informações, consulte Limitações.

Aurora_pq_request_throttled

O número de vezes em que a consulta paralela não foi escolhida devido ao número máximo de consultas paralelas simultâneas em execução em uma determinada instância de bancos de dados Aurora.