Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Performance Agent

Última atualização: Jun 26, 2026

Este tópico descreve o recurso Performance Agent do AliSQL. Esse recurso coleta estatísticas sobre o desempenho de uma instância do ApsaraDB RDS for MySQL.

Informações de contexto

O Performance Agent adiciona uma tabela de memória chamada PERF_STATISTICS no banco de dados do sistema information_schema. Essa tabela armazena os dados de desempenho gerados no período mais recente. Consulte esses dados diretamente na tabela.

Pré-requisitos

Sua instância RDS deve executar uma das seguintes versões do MySQL e edições do RDS:

  • MySQL 8.4

  • MySQL 8.0 com versão secundária do mecanismo 20200229 ou posterior

  • MySQL 5.7 com versão secundária do mecanismo 20200229 ou posterior

  • MySQL 5.6 com versão secundária do mecanismo 20200630 ou posterior

Nota

Para a manutenção, atualize a versão secundária do mecanismo da sua instância. Consulte Atualizar a versão secundária do mecanismo.

Descrição

A tabela a seguir descreve os parâmetros; configure o recurso Performance Agent conforme necessário.

Parâmetro

Descrição

performance_agent_enabled

Especifica se o recurso Performance Agent está ativado (ative definindo como ON). Valores válidos: ON e OFF. Valor padrão: ON.

performance_agent_file_size

O tamanho de um único arquivo local de dados de desempenho. Unidade: MB.

performance_agent_interval

O intervalo de coleta de dados. Unidade: segundos. Valor padrão: 1.

performance_agent_network_device

O prefixo do nome da interface de rede física (NIC) do host.

performance_agent_perfstat_volume_size

A quantidade máxima de registros de dados na tabela PERF_STATISTICS. O valor padrão é 3600. Por exemplo, defina o performance_agent_interval como 1 para que a tabela armazene os dados de desempenho da última hora.

Nota

Esses parâmetros não ficam visíveis no console. Execute o comando SHOW VARIABLES LIKE '<parameter_name>'; para verificar os valores deles.

Esquema

A tabela de memória PERF_STATISTICS usa o seguinte esquema; crie a tabela temporária conforme abaixo:

CREATE TEMPORARY TABLE `PERF_STATISTICS` (
  `TIME` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `PROCS_MEM_USAGE` double NOT NULL DEFAULT '0',
  `PROCS_MEM_RATIO` double NOT NULL DEFAULT '0',
  `PROCS_CPU_RATIO` double NOT NULL DEFAULT '0',
  `PROCS_IOPS` double NOT NULL DEFAULT '0',
  `PROCS_IOPS_READ` double NOT NULL DEFAULT '0',
  `PROCS_IOPS_WRITE` double NOT NULL DEFAULT '0',
  `PROCS_IO_READ_BYTES` bigint NOT NULL DEFAULT '0',
  `PROCS_IO_WRITE_BYTES` bigint NOT NULL DEFAULT '0',
  `MYSQL_CONN_ABORT` int NOT NULL DEFAULT '0',
  `MYSQL_CONN_CREATED` int NOT NULL DEFAULT '0',
  `MYSQL_USER_CONN_COUNT` int NOT NULL DEFAULT '0',
  `MYSQL_CONN_COUNT` int NOT NULL DEFAULT '0',
  `MYSQL_CONN_RUNNING` int NOT NULL DEFAULT '0',
  `MYSQL_CONNECTIONS` int NOT NULL DEFAULT '0',
  `MYSQL_CONN_CACHED` int NOT NULL DEFAULT '0',
  `MYSQL_LOCK_IMMEDIATE` int NOT NULL DEFAULT '0',
  `MYSQL_LOCK_WAITED` int NOT NULL DEFAULT '0',
  `MYSQL_QUESTIONS` int NOT NULL DEFAULT '0',
  `MYSQL_COM_INSERT` int NOT NULL DEFAULT '0',
  `MYSQL_COM_INSERT_SELECT` int NOT NULL DEFAULT '0',
  `MYSQL_COM_REPLACE` int NOT NULL DEFAULT '0',
  `MYSQL_COM_REPLACE_SELECT` int NOT NULL DEFAULT '0',
  `MYSQL_COM_UPDATE` int NOT NULL DEFAULT '0',
  `MYSQL_COM_UPDATE_MULTI` int NOT NULL DEFAULT '0',
  `MYSQL_COM_DELETE` int NOT NULL DEFAULT '0',
  `MYSQL_COM_DELETE_MULTI` int NOT NULL DEFAULT '0',
  `MYSQL_COM_SELECT` int NOT NULL DEFAULT '0',
  `MYSQL_COM_COMMIT` int NOT NULL DEFAULT '0',
  `MYSQL_COM_ROLLBACK` int NOT NULL DEFAULT '0',
  `MYSQL_COM_PREPARE` int NOT NULL DEFAULT '0',
  `MYSQL_HANDLER_COMMIT` int NOT NULL DEFAULT '0',
  `MYSQL_HANDELR_ROLLBACK` int NOT NULL DEFAULT '0',
  `MYSQL_LONG_QUERY` int NOT NULL DEFAULT '0',
  `MYSQL_TCACHE_GET` bigint NOT NULL DEFAULT '0',
  `MYSQL_TCACHE_MISS` bigint NOT NULL DEFAULT '0',
  `MYSQL_TMPFILE_CREATED` int NOT NULL DEFAULT '0',
  `MYSQL_TMP_TABLES` int NOT NULL DEFAULT '0',
  `MYSQL_TMP_DISKTABLES` int NOT NULL DEFAULT '0',
  `MYSQL_SORT_MERGE` int NOT NULL DEFAULT '0',
  `MYSQL_SORT_ROWS` int NOT NULL DEFAULT '0',
  `MYSQL_BYTES_RECEIVED` bigint NOT NULL DEFAULT '0',
  `MYSQL_BYTES_SENT` bigint NOT NULL DEFAULT '0',
  `MYSQL_BINLOG_OFFSET` int NOT NULL DEFAULT '0',
  `MYSQL_IOLOG_OFFSET` int NOT NULL DEFAULT '0',
  `MYSQL_RELAYLOG_OFFSET` int NOT NULL DEFAULT '0',
  `EXTRA` json NOT NULL DEFAULT 'null'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Coluna

Descrição

TIME

O timestamp da coleta de dados. O formato é yyyy-MM-dd HH:mm:ss.

PROCS_MEM_USAGE

Memória física utilizada pelo processo. Unidade: bytes.

PROCS_MEM_RATIO

Taxa de uso de memória do processo.

PROCS_CPU_RATIO

Utilização de CPU do processo.

PROCS_IOPS

Quantidade de chamadas de E/S do sistema.

PROCS_IOPS_READ

Operações de leitura de E/S por segundo (IOPS) do processo.

PROCS_IOPS_WRITE

Operações de gravação de E/S por segundo (IOPS) do processo.

PROCS_IO_READ_BYTES

Volume de dados lidos por operações de E/S. Unidade: bytes.

PROCS_IO_WRITE_BYTES

Volume de dados gravados por operações de E/S. Unidade: bytes.

MYSQL_CONN_ABORT

Total de conexões abortadas.

MYSQL_CONN_CREATED

Total de conexões criadas.

MYSQL_USER_CONN_COUNT

Total de conexões de usuário ativas.

MYSQL_CONN_COUNT

Total geral de conexões.

MYSQL_CONN_RUNNING

Quantidade de conexões ativas no momento.

MYSQL_CONNECTIONS

Quantidade de tentativas de conexão com o servidor MySQL.

MYSQL_CONN_CACHED

Quantidade de threads no cache de threads.

MYSQL_LOCK_IMMEDIATE

Quantidade de bloqueios de tabela adquiridos imediatamente.

MYSQL_LOCK_WAITED

Quantidade de bloqueios de tabela que exigiram espera.

MYSQL_QUESTIONS

Total de instruções executadas pelo servidor.

MYSQL_COM_INSERT

Total de instruções INSERT.

MYSQL_COM_INSERT_SELECT

Total de instruções INSERT ... SELECT.

MYSQL_COM_REPLACE

Total de instruções REPLACE.

MYSQL_COM_REPLACE_SELECT

Total de instruções REPLACE ... SELECT.

MYSQL_COM_UPDATE

Total de instruções UPDATE.

MYSQL_COM_UPDATE_MULTI

Total de instruções UPDATE para múltiplas tabelas.

MYSQL_COM_DELETE

Total de instruções DELETE.

MYSQL_COM_DELETE_MULTI

Total de instruções DELETE para múltiplas tabelas.

MYSQL_COM_SELECT

Total de instruções SELECT.

MYSQL_COM_COMMIT

Total de instruções COMMIT.

MYSQL_COM_ROLLBACK

Total de instruções ROLLBACK.

MYSQL_COM_PREPARE

Total de instruções preparadas.

MYSQL_HANDLER_COMMIT

Total de instruções COMMIT internas.

MYSQL_HANDELR_ROLLBACK

Quantidade de solicitações para executar uma operação de rollback dentro de um mecanismo de armazenamento.

MYSQL_LONG_QUERY

Quantidade de consultas lentas.

MYSQL_TCACHE_GET

Quantidade de acertos no cache de abertura de tabelas.

MYSQL_TCACHE_MISS

Quantidade de falhas no cache de abertura de tabelas.

MYSQL_TMPFILE_CREATED

Total de arquivos temporários criados.

MYSQL_TMP_TABLES

Total de tabelas temporárias internas em memória criadas.

MYSQL_TMP_DISKTABLES

Total de tabelas temporárias internas em disco criadas.

MYSQL_SORT_MERGE

Quantidade de passagens de mesclagem para classificação.

MYSQL_SORT_ROWS

Quantidade de linhas classificadas.

MYSQL_BYTES_RECEIVED

Volume de bytes recebidos de todos os clientes. Unidade: bytes.

MYSQL_BYTES_SENT

Volume de bytes enviados para todos os clientes. Unidade: bytes.

MYSQL_BINLOG_OFFSET

Tamanho dos arquivos de log binário gerados. Unidade: bytes.

MYSQL_IOLOG_OFFSET

Tamanho dos arquivos de log binário enviados pela instância source. Unidade: bytes.

MYSQL_RELAYLOG_OFFSET

Tamanho dos arquivos de relay log aplicados pela instância réplica. Unidade: bytes.

EXTRA

Estatísticas do InnoDB no formato JSON. Para obter detalhes sobre esses campos, consulte a tabela de descrições dos campos EXTRA abaixo.

Nota

As métricas das estatísticas do InnoDB são idênticas aos valores retornados pelo comando SHOW STATUS.

Tabela 1. Descrições dos campos EXTRA

Campo

Descrição

INNODB_TRX_CNT

Total de transações.

INNODB_DATA_READ

Volume de dados lidos. Unidade: bytes.

INNODB_IBUF_SIZE

Tamanho do buffer de inserção, em páginas.

INNODB_LOG_WAITS

Quantidade de esperas para gravações de log.

INNODB_MAX_PURGE

Total de transações purgadas.

INNODB_N_WAITING

Quantidade de esperas de bloqueio.

INNODB_ROWS_READ

Total de linhas lidas.

INNODB_LOG_WRITES

Total de gravações de log.

INNODB_IBUF_MERGES

Quantidade de mesclagens do buffer de inserção.

INNODB_DATA_WRITTEN

Volume de dados gravados. Unidade: bytes.

INNODB_DBLWR_WRITES

Quantidade de operações de doublewrite.

INNODB_IBUF_SEGSIZE

Tamanho atual do buffer de inserção.

INNODB_ROWS_DELETED

Total de linhas excluídas (exclua registros se necessário).

INNODB_ROWS_UPDATED

Total de linhas atualizadas.

INNODB_COMMIT_TRXCNT

Total de transações confirmadas.

INNODB_IBUF_FREELIST

Comprimento da lista livre.

INNODB_MYSQL_TRX_CNT

Total de transações do MySQL.

INNODB_ROWS_INSERTED

Total de linhas inseridas.

INNODB_ACTIVE_TRX_CNT

Total de transações ativas.

INNODB_OS_LOG_WRITTEN

Volume de dados gravados nos arquivos de log. Unidade: bytes.

INNODB_ACTIVE_VIEW_CNT

Total de visões ativas.

INNODB_RSEG_HISTORY_LEN

Comprimento da lista de histórico no segmento de rollback.

INNODB_AVG_COMMIT_TRXTIME

Tempo médio de confirmação de transação.

INNODB_MAX_COMMIT_TRXTIME

Tempo máximo de confirmação de transação.

INNODB_DBLWR_PAGES_WRITTEN

Quantidade de páginas gravadas por operações de doublewrite.

Uso do Performance Agent

  • Consulte a tabela do sistema diretamente e selecione os dados de desempenho. Por exemplo:

    • Para consultar a utilização de CPU e o uso de memória nos últimos 30 segundos:

      MySQL> select TIME, PROCS_MEM_USAGE, PROCS_CPU_RATIO from information_schema.PERF_STATISTICS order by time DESC limit 30;
      +---------------------+-----------------+-----------------+
      | TIME                | PROCS_MEM_USAGE | PROCS_CPU_RATIO |
      +---------------------+-----------------+-----------------+
      | 2020-02-27 11:15:36 |       857812992 |           18.55 |
      | 2020-02-27 11:15:35 |       857808896 |           18.54 |
      | 2020-02-27 11:15:34 |       857268224 |           19.64 |
      | 2020-02-27 11:15:33 |       857268224 |           21.06 |
      | 2020-02-27 11:15:32 |       857264128 |           20.39 |
      | 2020-02-27 11:15:31 |       857272320 |           20.32 |
      | 2020-02-27 11:15:30 |       857272320 |           21.35 |
      | 2020-02-27 11:15:29 |       857272320 |            28.8 |
      | 2020-02-27 11:15:28 |       857268224 |           29.08 |
      | 2020-02-27 11:15:27 |       857268224 |           26.92 |
      | 2020-02-27 11:15:26 |       857268224 |           23.84 |
      | 2020-02-27 11:15:25 |       857264128 |           13.76 |
      | 2020-02-27 11:15:24 |       857264128 |           15.12 |
      | 2020-02-27 11:15:23 |       857264128 |           14.76 |
      | 2020-02-27 11:15:22 |       857264128 |           15.38 |
      | 2020-02-27 11:15:21 |       857260032 |           13.23 |
      | 2020-02-27 11:15:20 |       857260032 |           12.75 |
      | 2020-02-27 11:15:19 |       857260032 |           12.17 |
      | 2020-02-27 11:15:18 |       857255936 |           13.22 |
      | 2020-02-27 11:15:17 |       857255936 |           20.51 |
      | 2020-02-27 11:15:16 |       857255936 |           28.74 |
      | 2020-02-27 11:15:15 |       857251840 |           29.85 |
      | 2020-02-27 11:15:14 |       857251840 |           29.31 |
      | 2020-02-27 11:15:13 |       856981504 |           28.85 |
      | 2020-02-27 11:15:12 |       856981504 |           29.19 |
      | 2020-02-27 11:15:11 |       856977408 |           29.12 |
      | 2020-02-27 11:15:10 |       856977408 |           29.32 |
      | 2020-02-27 11:15:09 |       856977408 |            29.2 |
      | 2020-02-27 11:15:08 |       856973312 |           29.36 |
      | 2020-02-27 11:15:07 |       856973312 |           28.79 |
      +---------------------+-----------------+-----------------+
      30 rows in set (0.08 sec)
    • Para consultar a quantidade de linhas lidas e inseridas no InnoDB nos últimos 30 segundos:

      MySQL> select TIME, EXTRA->'$.INNODB_ROWS_READ', EXTRA->'$.INNODB_ROWS_INSERTED' from information_schema.PERF_STATISTICS order by time DESC limit 30;
      +---------------------+-----------------------------+---------------------------------+
      | TIME                | EXTRA->'$.INNODB_ROWS_READ' | EXTRA->'$.INNODB_ROWS_INSERTED' |
      +---------------------+-----------------------------+---------------------------------+
      | 2020-02-27 11:22:17 | 39209                       | 0                               |
      | 2020-02-27 11:22:16 | 36098                       | 0                               |
      | 2020-02-27 11:22:15 | 38035                       | 0                               |
      | 2020-02-27 11:22:14 | 37384                       | 0                               |
      | 2020-02-27 11:22:13 | 38336                       | 0                               |
      | 2020-02-27 11:22:12 | 33946                       | 0                               |
      | 2020-02-27 11:22:11 | 36301                       | 0                               |
      | 2020-02-27 11:22:10 | 36835                       | 0                               |
      | 2020-02-27 11:22:09 | 36900                       | 0                               |
      | 2020-02-27 11:22:08 | 36402                       | 0                               |
      | 2020-02-27 11:22:07 | 39672                       | 0                               |
      | 2020-02-27 11:22:06 | 39316                       | 0                               |
      | 2020-02-27 11:22:05 | 37830                       | 0                               |
      | 2020-02-27 11:22:04 | 36396                       | 0                               |
      | 2020-02-27 11:22:03 | 34820                       | 0                               |
      | 2020-02-27 11:22:02 | 37350                       | 0                               |
      | 2020-02-27 11:22:01 | 39463                       | 0                               |
      | 2020-02-27 11:22:00 | 38419                       | 0                               |
      | 2020-02-27 11:21:59 | 37673                       | 0                               |
      | 2020-02-27 11:21:58 | 35117                       | 0                               |
      | 2020-02-27 11:21:57 | 36140                       | 0                               |
      | 2020-02-27 11:21:56 | 37592                       | 0                               |
      | 2020-02-27 11:21:55 | 39765                       | 0                               |
      | 2020-02-27 11:21:54 | 35553                       | 0                               |
      | 2020-02-27 11:21:53 | 35882                       | 0                               |
      | 2020-02-27 11:21:52 | 37061                       | 0                               |
      | 2020-02-27 11:21:51 | 40699                       | 0                               |
      | 2020-02-27 11:21:50 | 39608                       | 0                               |
      | 2020-02-27 11:21:49 | 39317                       | 0                               |
      | 2020-02-27 11:21:48 | 37413                       | 0                               |
      +---------------------+-----------------------------+---------------------------------+
      30 rows in set (0.08 sec)
  • Conecte-se a uma plataforma de monitoramento, como o Grafana, para monitorar o desempenho em tempo real.Grafana