All Products
Search
Document Center

ApsaraDB RDS:Performance Agent

Last Updated:Mar 29, 2026

Performance Agent adalah plugin AliSQL yang mengumpulkan metrik performa tingkat instans dalam interval tetap dan menyimpannya dalam tabel in-memory yang dapat dikueri (information_schema.PERF_STATISTICS). Fitur ini memungkinkan Anda menjalankan kueri SQL kustom terhadap data performa langsung, membangun dasbor waktu nyata di Grafana, atau mengirim metrik ke pipeline pemantauan Anda sendiri.

Prasyarat

Sebelum memulai, pastikan instans Anda memenuhi persyaratan versi berikut:

  • MySQL 8.0 dengan versi mesin minor 20200229 atau lebih baru

  • MySQL 5.7 dengan versi mesin minor 20200229 atau lebih baru

  • MySQL 5.6 dengan versi mesin minor 20200630 atau lebih baru

Untuk petunjuk memperbarui versi mesin minor, lihat Perbarui Versi Mesin Minor Instans ApsaraDB RDS untuk MySQL.

Cara kerja

Performance Agent menulis snapshot metrik performa utama ke information_schema.PERF_STATISTICS dalam interval tetap (default: 1 detik). Tabel ini merupakan struktur in-memory—entri lama akan dihapus saat entri baru tiba.

Dengan pengaturan default (performance_agent_interval=1, performance_agent_perfstat_volume_size=3600), tabel menyimpan 3.600 baris, mencakup sekitar satu jam data terbaru.

Retensi data secara ringkas

Interval pengumpulanCatatan yang DisimpanData dipertahankan
1 detik (default)3.600 (default)~1 jam
5 detik3.600 (default)~5 jam
10 detik3.600 (default)~10 jam
1 detik7.200~2 jam

Untuk menyimpan riwayat lebih lama, tingkatkan nilai performance_agent_perfstat_volume_size. Pengaturan ini menggunakan memori tambahan, sehingga pertimbangkan kompromi terhadap sumber daya yang tersedia pada instans Anda.

Konfigurasi Performance Agent

Parameter berikut mengontrol perilaku Performance Agent. Parameter ini tidak ditampilkan di konsol ApsaraDB RDS. Untuk melihat nilai saat ini dari parameter apa pun, jalankan:

SHOW VARIABLES LIKE '<parameter_name>';
ParameterDeskripsiDefault
performance_agent_enabledMengaktifkan atau menonaktifkan Performance Agent. Nilai yang valid: ON, OFF.ON
performance_agent_intervalFrekuensi RDS mengumpulkan snapshot performa. Satuan: detik. Interval yang lebih kecil berarti data lebih sering dikumpulkan dan penggunaan memori lebih tinggi.1
performance_agent_perfstat_volume_sizeJumlah maksimum baris dalam tabel PERF_STATISTICS. Saat batas ini tercapai, baris terlama akan dihapus.3600
performance_agent_file_sizeUkuran file data performa yang ditulis ke disk. Satuan: MB.
performance_agent_network_deviceAwalan nama network interface controller (NIC) fisik pada host.

Data kinerja kueri

Semua kueri dijalankan terhadap information_schema.PERF_STATISTICS. Gunakan ORDER BY TIME DESC dan LIMIT untuk mengambil data N detik terbaru.

Metrik sumber daya (CPU, memori, I/O)

SELECT TIME, PROCS_MEM_USAGE, PROCS_CPU_RATIO
FROM information_schema.PERF_STATISTICS
ORDER BY TIME DESC
LIMIT 30;

Contoh output:

+---------------------+-----------------+-----------------+
| 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 |
...
+---------------------+-----------------+-----------------+
30 rows in set (0.08 sec)

Metrik InnoDB

Statistik InnoDB disimpan sebagai objek JSON dalam kolom EXTRA. Gunakan operator -> untuk mengekstraksi bidang individual.

SELECT TIME,
       EXTRA->'$.INNODB_ROWS_READ',
       EXTRA->'$.INNODB_ROWS_INSERTED'
FROM information_schema.PERF_STATISTICS
ORDER BY TIME DESC
LIMIT 30;

Contoh output:

+---------------------+-----------------------------+---------------------------------+
| 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                               |
...
+---------------------+-----------------------------+---------------------------------+
30 rows in set (0.08 sec)

Nilai dalam kolom EXTRA sesuai dengan nilai yang dikembalikan oleh SHOW STATUS.

Koneksi ke platform pemantauan

Sambungkan Performance Agent ke platform pemantauan untuk dasbor waktu nyata. Misalnya, sambungkan ke Grafana. Grafana

Referensi skema PERF_STATISTICS

Definisi tabel

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;

Referensi kolom

Metrik sumber daya

KolomDeskripsi
TIMETimestamp snapshot. Format: yyyy-MM-dd HH:mm:ss.
PROCS_MEM_USAGEMemori fisik yang digunakan oleh instans RDS. Satuan: byte.
PROCS_MEM_RATIOPenggunaan memori proses MySQL, dalam bentuk rasio.
PROCS_CPU_RATIOUtilisasi CPU instans RDS.
PROCS_IOPSJumlah total operasi I/O.
PROCS_IOPS_READIOPS baca proses dalam kontainer.
PROCS_IOPS_WRITEIOPS tulis proses dalam kontainer.
PROCS_IO_READ_BYTESData yang dibaca oleh operasi I/O. Satuan: byte.
PROCS_IO_WRITE_BYTESData yang ditulis oleh operasi I/O. Satuan: byte.

Metrik koneksi

KolomDeskripsi
MYSQL_CONN_ABORTJumlah koneksi yang ditutup.
MYSQL_CONN_CREATEDJumlah koneksi baru yang dibuat.
MYSQL_USER_CONN_COUNTTotal jumlah koneksi.
MYSQL_CONN_COUNTTotal jumlah koneksi.
MYSQL_CONN_RUNNINGJumlah koneksi aktif.
MYSQL_CONNECTIONSJumlah koneksi MySQL.
MYSQL_CONN_CACHEDJumlah thread yang diblokir.
MYSQL_LOCK_IMMEDIATEJumlah lock yang dipegang.
MYSQL_LOCK_WAITEDJumlah event tunggu lock.

Metrik eksekusi SQL

KolomDeskripsi
MYSQL_QUESTIONSTotal pernyataan SQL yang dikirim oleh client.
MYSQL_COM_INSERTJumlah pernyataan INSERT.
MYSQL_COM_INSERT_SELECTJumlah pernyataan INSERT ... SELECT.
MYSQL_COM_REPLACEJumlah pernyataan REPLACE.
MYSQL_COM_REPLACE_SELECTJumlah pernyataan REPLACE ... SELECT.
MYSQL_COM_UPDATEJumlah pernyataan UPDATE.
MYSQL_COM_UPDATE_MULTIJumlah pernyataan UPDATE multi-tabel.
MYSQL_COM_DELETEJumlah pernyataan DELETE.
MYSQL_COM_DELETE_MULTIJumlah pernyataan DELETE multi-tabel.
MYSQL_COM_SELECTJumlah pernyataan SELECT.
MYSQL_COM_COMMITJumlah transaksi yang dikomit secara eksplisit.
MYSQL_COM_ROLLBACKJumlah transaksi yang di-rollback.
MYSQL_COM_PREPAREJumlah pernyataan prepared.
MYSQL_HANDLER_COMMITJumlah kali pernyataan COMMIT dieksekusi.
MYSQL_HANDELR_ROLLBACKJumlah kali storage engine melakukan rollback.
MYSQL_LONG_QUERYJumlah kueri lambat.
MYSQL_TCACHE_GETJumlah cache hit.
MYSQL_TCACHE_MISSJumlah cache miss.
MYSQL_TMPFILE_CREATEDJumlah file temporary yang dibuat.
MYSQL_TMP_TABLESJumlah tabel temporary yang dibuat.
MYSQL_TMP_DISKTABLESJumlah tabel disk temporary yang dibuat.
MYSQL_SORT_MERGEJumlah operasi sort-merge.
MYSQL_SORT_ROWSJumlah baris yang diurutkan.
MYSQL_BYTES_RECEIVEDData diterima. Satuan: byte.
MYSQL_BYTES_SENTData dikirim. Satuan: byte.

Metrik replikasi

KolomDeskripsi
MYSQL_BINLOG_OFFSETUkuran file binary log yang dihasilkan. Satuan: byte.
MYSQL_IOLOG_OFFSETUkuran file binary log yang dikirim oleh instans RDS ke instans RDS secondary-nya. Satuan: byte.
MYSQL_RELAYLOG_OFFSETUkuran relay log yang diterapkan oleh instans RDS secondary. Satuan: byte.

Metrik InnoDB (kolom EXTRA)

Kolom EXTRA berisi objek JSON dengan statistik InnoDB. Semua nilai sesuai dengan nilai yang dikembalikan oleh SHOW STATUS.

BidangDeskripsi
INNODB_TRX_CNTJumlah transaksi.
INNODB_DATA_READData dibaca. Satuan: byte.
INNODB_IBUF_SIZEJumlah halaman yang digabung dalam insert buffer.
INNODB_LOG_WAITSJumlah kali InnoDB menunggu untuk menulis data log.
INNODB_MAX_PURGEJumlah transaksi yang dipurge.
INNODB_N_WAITINGJumlah lock yang sedang ditunggu oleh InnoDB.
INNODB_ROWS_READJumlah baris dibaca.
INNODB_LOG_WRITESJumlah kali InnoDB menulis data log.
INNODB_IBUF_MERGESJumlah operasi merge insert buffer.
INNODB_DATA_WRITTENData ditulis. Satuan: byte.
INNODB_DBLWR_WRITESJumlah operasi doublewrite.
INNODB_IBUF_SEGSIZEUkuran data yang dimasukkan ke insert buffer.
INNODB_ROWS_DELETEDJumlah baris dihapus.
INNODB_ROWS_UPDATEDJumlah baris diperbarui.
INNODB_COMMIT_TRXCNTJumlah transaksi yang dikomit.
INNODB_IBUF_FREELISTPanjang daftar idle.
INNODB_MYSQL_TRX_CNTJumlah transaksi MySQL.
INNODB_ROWS_INSERTEDJumlah baris dimasukkan.
INNODB_ACTIVE_TRX_CNTJumlah transaksi aktif.
INNODB_OS_LOG_WRITTENData log yang ditulis ke disk. Satuan: byte.
INNODB_ACTIVE_VIEW_CNTJumlah view aktif.
INNODB_RSEG_HISTORY_LENPanjang daftar TRX_RSEG_HISTORY.
INNODB_AVG_COMMIT_TRXTIMEWaktu rata-rata penyelesaian transaksi.
INNODB_MAX_COMMIT_TRXTIMEWaktu maksimum untuk melakukan commit transaksi.
INNODB_DBLWR_PAGES_WRITTENJumlah halaman yang ditulis oleh operasi doublewrite.