Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Performance Insight

Última atualização: Jul 08, 2026

O Performance Insight é uma ferramenta avançada para monitoramento de carga de instâncias, análise de correlação e ajuste de desempenho. Esse recurso permite avaliar rapidamente a carga do banco de dados, identificar a causa raiz de problemas de desempenho e aumentar a estabilidade do sistema.

Pré-requisitos

Sua instância do ApsaraDB RDS for MySQL deve executar o MySQL 8.4, 8,0 ou 5,7, com versão secundária do mecanismo igual ou superior a 20190915.

Nota

Verifique a versão secundária do mecanismo na página Basic Information. Na seção Configuration Information, confira se o botão Upgrade Kernel Version está visível. Se estiver, clique nele para visualizar a versão atual. Caso contrário, sua instância já utiliza a versão mais recente. Para mais detalhes, consulte Atualizar a versão secundária do mecanismo.

Performance Insight

O Performance Insight é composto por dois componentes:

  • Estatísticas de objetos

    As estatísticas de objetos fornecem dados sobre tabelas e índices, organizados em duas tabelas:

    • TABLE_STATISTICS: Registra as linhas lidas e modificadas.

    • INDEX_STATISTICS: Registra as linhas lidas por índices.

  • Performance point

    O Performance point oferece informações detalhadas sobre o desempenho da instância, facilitando a quantificação precisa e ágil do custo das instruções SQL. Ele abrange três dimensões:

    • CPU: Inclui métricas como tempo total de execução (Elapsed time) e tempo de CPU.

    • LOCK: Abrange métricas como tempo de bloqueio de metadados do servidor (MDL), tempo de bloqueio de transação, contenção de mutex (apenas no modo de depuração) e contenção de locks de leitura e escrita.

    • IO: Contempla métricas como tempo de leitura e escrita em arquivos de dados, tempo de escrita em arquivos de log, leituras lógicas, leituras físicas e leituras físicas assíncronas.

Uso das estatísticas de objetos

  1. Verifique se os parâmetros OPT_TABLESTAT e OPT_INDEXSTAT estão definidos como ON. Exemplo:

    mysql> show variables like "opt_%_stat";
      +---------------+-------+
      | Variable_name | Value |
      +---------------+-------+
      | opt_indexstat | ON    |
      | opt_tablestat | ON    |
      +---------------+-------+
  2. Consulte a tabela TABLE_STATISTICS ou INDEX_STATISTICS no banco de dados information_schema para visualizar as estatísticas de tabelas e índices. Exemplo:

    mysql> select * from TABLE_STATISTICS limit 10;
      +--------------+--------------+-----------+--------------+------------------------+---------------+--------------+--------------+
      | TABLE_SCHEMA | TABLE_NAME   | ROWS_READ | ROWS_CHANGED | ROWS_CHANGED_X_INDEXES | ROWS_INSERTED | ROWS_DELETED | ROWS_UPDATED |
      +--------------+--------------+-----------+--------------+------------------------+---------------+--------------+--------------+
      | mysql        | db           |         2 |            0 |                      0 |             0 |            0 |            0 |
      | mysql        | engine_cost  |         2 |            0 |                      0 |             0 |            0 |            0 |
      | mysql        | proxies_priv |         1 |            0 |                      0 |             0 |            0 |            0 |
      | mysql        | server_cost  |         6 |            0 |                      0 |             0 |            0 |            0 |
      | mysql        | tables_priv  |         2 |            0 |                      0 |             0 |            0 |            0 |
      | mysql        | user         |         7 |            0 |                      0 |             0 |            0 |            0 |
      | test         | sbtest1      |      1686 |          142 |                    184 |           112 |           12 |           18 |
      | test         | sbtest10     |      1806 |          125 |                    150 |           105 |            5 |           15 |
      | test         | sbtest100    |      1623 |          141 |                    182 |           110 |           10 |           21 |
      | test         | sbtest11     |      1254 |          136 |                    172 |           110 |           10 |           16 |
      +--------------+--------------+-----------+--------------+------------------------+---------------+--------------+--------------+
    
      mysql> select * from INDEX_STATISTICS limit 10;
      +--------------+--------------+------------+-----------+
      | TABLE_SCHEMA | TABLE_NAME   | INDEX_NAME | ROWS_READ |
      +--------------+--------------+------------+-----------+
      | mysql        | db           | PRIMARY    |         2 |
      | mysql        | engine_cost  | PRIMARY    |         2 |
      | mysql        | proxies_priv | PRIMARY    |         1 |
      | mysql        | server_cost  | PRIMARY    |         6 |
      | mysql        | tables_priv  | PRIMARY    |         2 |
      | mysql        | user         | PRIMARY    |         7 |
      | test         | sbtest1      | PRIMARY    |      2500 |
      | test         | sbtest10     | PRIMARY    |      3007 |
      | test         | sbtest100    | PRIMARY    |      2642 |
      | test         | sbtest11     |      2091 |
      +--------------+--------------+------------+-----------+

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Descrição

    TABLE_SCHEMA

    Nome do banco de dados.

    TABLE_NAME

    Nome da tabela.

    ROWS_READ

    Quantidade de linhas lidas.

    ROWS_CHANGED

    Quantidade de linhas modificadas.

    ROWS_CHANGED_X_INDEXES

    Número de atualizações de índice geradas por alterações nas linhas.

    ROWS_INSERTED

    Quantidade de linhas inseridas.

    ROWS_DELETED

    Quantidade de linhas excluídas.

    ROWS_UPDATED

    Quantidade de linhas atualizadas.

    INDEX_NAME

    Nome do índice.

Uso do Performance point

  1. Verifique os parâmetros do Performance point. A saída abaixo indica que o recurso está ativado:

    mysql> show variables like "%performance_point%";
      +---------------------------------------+-------+
      | Variable_name                         | Value |
      +---------------------------------------+-------+
      | performance_point_dbug_enabled        | OFF   |
      | performance_point_enabled             | ON    |
      | performance_point_iostat_interval     | 2     |
      | performance_point_iostat_volume_size  | 10000 |
      | performance_point_lock_rwlock_enabled | ON    |
      +---------------------------------------+-------+
    Nota

    Caso essas variáveis não sejam encontradas, confirme se sua instância atende aos pré-requisitos.

  2. Consulte a tabela events_statements_summary_by_digest_supplement no banco de dados performance_schema para visualizar estatísticas das instruções SQL. Exemplo:

    mysql> select * from events_statements_summary_by_digest_supplement limit 10;
      +--------------------+----------------------------------+-------------------------------------------+--------------+
      | SCHEMA_NAME        | DIGEST                           | DIGEST_TEXT                               | ELAPSED_TIME | ......
      +--------------------+----------------------------------+-------------------------------------------+--------------+
      | NULL               | 6b787dd1f9c6f6c5033120760a1a82de | SELECT @@`version_comment` LIMIT ?        |          932 |
      | NULL               | 2fb4341654df6995113d998c52e5abc9 | SHOW SCHEMAS                              |         2363 |
      | NULL               | 8a93e76a7846384621567fb4daa1bf95 | SHOW VARIABLES LIKE ?                     |        17933 |
      | NULL               | dd148234ac7a20cb5aee7720fb44b7ea | SELECT SCHEMA ( )                         |         1006 |
      | information_schema | 2fb4341654df6995113d998c52e5abc9 | SHOW SCHEMAS                              |         2156 |
      | information_schema | 74af182f3a2bd265678d3dadb53e08da | SHOW TABLES                               |         3161 |
      | information_schema | d3a66515192fcb100aaef6f8b6e45603 | SELECT * FROM `TABLE_STATISTICS` LIMIT ?  |         2081 |
      | information_schema | b3726b7c4c4db4b309de2dbc45ff52af | SELECT * FROM `INDEX_STATISTICS` LIMIT ?  |         2384 |
      | information_schema | dd148234ac7a20cb5aee7720fb44b7ea | SELECT SCHEMA ( )                         |          129 |
      | test               | 2fb4341654df6995113d998c52e5abc9 | SHOW SCHEMAS                              |          342 |
      +--------------------+----------------------------------+-------------------------------------------+--------------+

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Descrição

    SCHEMA_NAME

    Nome do banco de dados.

    DIGEST

    String hash de 64 bytes derivada do valor de DIGEST_TEXT.

    DIGEST_TEXT

    Forma normalizada da instrução SQL.

    ELAPSED_TIME

    Tempo total de execução. Unidade: microssegundos (μs).

    CPU_TIME

    Tempo de CPU consumido. Unidade: microssegundos (μs).

    SERVER_LOCK_TIME

    Tempo de bloqueio no servidor. Unidade: microssegundos (μs).

    TRANSACTION_LOCK_TIME

    Tempo de bloqueio da transação. Unidade: microssegundos (μs).

    MUTEX_SPINS

    Número de spins de mutex.

    MUTEX_WAITS

    Número de esperas de mutex.

    RWLOCK_SPIN_WAITS

    Número de spin waits para locks de leitura e escrita.

    RWLOCK_SPIN_ROUNDS

    Número de spin rounds para locks de leitura e escrita.

    RWLOCK_OS_WAITS

    Número de esperas do sistema operacional para locks de leitura e escrita.

    DATA_READS

    Quantidade de operações de leitura em arquivos de dados.

    DATA_READ_TIME

    Tempo gasto na leitura de arquivos de dados. Unidade: microssegundos (μs).

    DATA_WRITES

    Quantidade de operações de escrita em arquivos de dados.

    DATA_WRITE_TIME

    Tempo gasto na escrita em arquivos de dados. Unidade: microssegundos (μs).

    REDO_WRITES

    Quantidade de escritas em arquivos de log.

    REDO_WRITE_TIME

    Tempo gasto na escrita em arquivos de log. Unidade: microssegundos (μs).

    LOGICAL_READS

    Número de leituras lógicas de páginas.

    PHYSICAL_READS

    Número de leituras físicas de páginas.

    PHYSICAL_ASYNC_READS

    Número de leituras físicas assíncronas de páginas.

  3. Consulte a tabela IO_STATISTICS no banco de dados information_schema para visualizar a atividade recente de leitura e escrita de dados. Exemplo:

    mysql> select * from IO_STATISTICS limit 10;
      +---------------------+-----------+----------------+
      | TIME                | DATA_READ | DATA_READ_TIME | ......
      +---------------------+-----------+----------------+
      | 2019-08-08 09:56:53 |        73 |            983 |
      | 2019-08-08 09:56:57 |         0 |              0 |
      | 2019-08-08 09:59:17 |         0 |              0 |
      | 2019-08-08 10:00:55 |      4072 |          40628 |
      | 2019-08-08 10:00:59 |         0 |              0 |
      | 2019-08-08 10:01:09 |       562 |           5800 |
      | 2019-08-08 10:01:11 |       606 |           6910 |
      | 2019-08-08 10:01:13 |       609 |           6875 |
      | 2019-08-08 10:01:15 |       625 |           7077 |
      | 2019-08-08 10:01:17 |       616 |           5800 |
      +---------------------+-----------+----------------+

    A tabela a seguir descreve os parâmetros.

    Parâmetro

    Descrição

    TIME

    Timestamp do registro.

    DATA_READ

    Quantidade de operações de leitura de dados.

    DATA_READ_TIME

    Tempo total dedicado à leitura de dados. Unidade: microssegundos (μs).

    DATA_READ_MAX_TIME

    Maior tempo registrado em uma única operação de leitura de dados. Unidade: microssegundos (μs).

    DATA_READ_BYTES

    Tamanho total dos dados lidos. Unidade: bytes.

    DATA_WRITE

    Quantidade de operações de escrita de dados.

    DATA_WRITE_TIME

    Tempo total dedicado à escrita de dados. Unidade: microssegundos (μs).

    DATA_WRITE_MAX_TIME

    Maior tempo registrado em uma única operação de escrita de dados. Unidade: microssegundos (μs).

    DATA_WRITE_BYTES

    Tamanho total dos dados escritos. Unidade: bytes.