全部产品
Search
文档中心

PolarDB:Agen Performa

更新时间:Jul 06, 2025

Topik ini menjelaskan fitur Agen Performa yang disediakan oleh PolarDB. Anda dapat menggunakan Agen Performa sebagai PolarDB untuk MySQL Plugin untuk mengumpulkan statistik performa dari node dalam kluster PolarDB untuk MySQL.

Prasyarat

  • Kluster PolarDB adalah PolarDB untuk MySQL versi 8.0 dengan revisi versi 8.0.2.1.0 atau lebih baru. Untuk informasi lebih lanjut tentang cara memeriksa versi, lihat Kueri versi mesin.
  • Parameter loose_performance_schema diatur ke ON. Untuk informasi lebih lanjut, lihat Konfigurasi parameter kluster dan node.

Informasi latar belakang

Tabel memori bernama PERF_STATISTICS ditambahkan untuk Agen Performa. Tabel ini disimpan dalam database sistem performance_schema dan menyimpan data performa yang dihasilkan selama periode waktu terbaru. Anda dapat menanyakan data performa dari tabel ini.
Catatan

Anda dapat mengaktifkan fitur performance_schema untuk memantau metrik performa kluster dalam hal kunci, transaksi, dan memori. Namun, setelah mengaktifkan fitur performance_schema, sejumlah besar memori sistem akan digunakan dan performa kluster dapat terpengaruh. Fitur performance_schema dinonaktifkan secara default di PolarDB untuk MySQL. Jika ingin mengaktifkan fitur performance_schema, kami sarankan Anda mengonfigurasi metrik performance_schema berdasarkan spesifikasi dan sumber daya kluster.

Parameter

Tabel berikut menjelaskan parameter yang perlu dikonfigurasi untuk Agen Performa.

ParameterDeskripsi
performance_agent_enabledMenentukan apakah akan mengaktifkan fitur Agen Performa. Nilai valid: ON dan OFF. Nilai default: ON.
performance_agent_intervalMenentukan interval waktu pengumpulan data performa oleh PolarDB. Nilai valid: 1 hingga 60. Unit: detik. Nilai default: 1.
performance_agent_perfstat_volume_sizeMenentukan jumlah maksimum catatan data yang diizinkan dalam tabel memori PERF_STATISTICS. Nilai default: 3600. Jika Anda mengatur parameter performance_agent_interval ke 1, sistem akan menyimpan data performa yang dihasilkan dalam satu jam terakhir.

Skema

Tabel memori PERF_STATISTICS menggunakan skema berikut:

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_CPU_RATIO` double NOT NULL DEFAULT '0',
  `PROCS_IOPS` double NOT NULL DEFAULT '0',
  `PROCS_IO_READ_BYTES` bigint(21) NOT NULL DEFAULT '0',
  `PROCS_IO_WRITE_BYTES` bigint(21) NOT NULL DEFAULT '0',
  `MYSQL_CONN_ABORT` int(11) NOT NULL DEFAULT '0',
  `MYSQL_CONN_CREATED` int(11) NOT NULL DEFAULT '0',
  `MYSQL_USER_CONN_COUNT` int(11) NOT NULL DEFAULT '0',
  `MYSQL_CONN_RUNNING` int(11) NOT NULL DEFAULT '0',
  `MYSQL_LOCK_IMMEDIATE` int(11) NOT NULL DEFAULT '0',
  `MYSQL_LOCK_WAITED` int(11) NOT NULL DEFAULT '0',
  `MYSQL_COM_INSERT` int(11) NOT NULL DEFAULT '0',
  `MYSQL_COM_UPDATE` int(11) NOT NULL DEFAULT '0',
  `MYSQL_COM_DELETE` int(11) NOT NULL DEFAULT '0',
  `MYSQL_COM_SELECT` int(11) NOT NULL DEFAULT '0',
  `MYSQL_COM_COMMIT` int(11) NOT NULL DEFAULT '0',
  `MYSQL_COM_ROLLBACK` int(11) NOT NULL DEFAULT '0',
  `MYSQL_COM_PREPARE` int(11) NOT NULL DEFAULT '0',
  `MYSQL_LONG_QUERY` int(11) NOT NULL DEFAULT '0',
  `MYSQL_TCACHE_GET` bigint(21) NOT NULL DEFAULT '0',
  `MYSQL_TCACHE_MISS` bigint(21) NOT NULL DEFAULT '0',
  `MYSQL_TMPFILE_CREATED` int(11) NOT NULL DEFAULT '0',
  `MYSQL_TMP_TABLES` int(11) NOT NULL DEFAULT '0',
  `MYSQL_TMP_DISKTABLES` int(11) NOT NULL DEFAULT '0',
  `MYSQL_SORT_MERGE` int(11) NOT NULL DEFAULT '0',
  `MYSQL_SORT_ROWS` int(11) NOT NULL DEFAULT '0',
  `MYSQL_BYTES_RECEIVED` bigint(21) NOT NULL DEFAULT '0',
  `MYSQL_BYTES_SENT` bigint(21) NOT NULL DEFAULT '0',
  `MYSQL_BINLOG_OFFSET` int(11) NOT NULL DEFAULT '0',
  `MYSQL_IOLOG_OFFSET` int(11) NOT NULL DEFAULT '0',
  `MYSQL_RELAYLOG_OFFSET` int(11) NOT NULL DEFAULT '0',
  `EXTRA` json NOT NULL DEFAULT 'null'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
KolomDeskripsi
TIMEWaktu ketika catatan data dibuat. Waktu dalam format yyyy-MM-dd HH:mm:ss.
PROCS_MEM_USAGEUkuran memori fisik yang digunakan oleh kluster. Unit: byte.
PROCS_CPU_RATIOUtilisasi CPU.
PROCS_IOPSJumlah operasi I/O yang dilakukan.
PROCS_IO_READ_BYTESJumlah data yang dibaca oleh operasi I/O. Unit: byte.
PROCS_IO_WRITE_BYTESJumlah data yang ditulis oleh operasi I/O. Unit: byte.
MYSQL_CONN_ABORTJumlah koneksi yang ditutup.
MYSQL_CONN_CREATEDJumlah koneksi baru.
MYSQL_USER_CONN_COUNTJumlah total koneksi.
MYSQL_CONN_RUNNINGJumlah koneksi aktif.
MYSQL_LOCK_IMMEDIATEJumlah kunci yang dipegang.
MYSQL_LOCK_WAITEDJumlah peristiwa tunggu kunci.
MYSQL_COM_INSERTJumlah pernyataan yang dieksekusi untuk menyisipkan data.
MYSQL_COM_UPDATEJumlah pernyataan yang dieksekusi untuk memperbarui data.
MYSQL_COM_DELETEJumlah pernyataan yang dieksekusi untuk menghapus data.
MYSQL_COM_SELECTJumlah pernyataan yang dieksekusi untuk menanyakan data.
MYSQL_COM_COMMITJumlah transaksi yang dikomit secara eksplisit.
MYSQL_COM_ROLLBACKJumlah transaksi yang dibatalkan.
MYSQL_COM_PREPAREJumlah pernyataan yang diproses sebelumnya.
MYSQL_LONG_QUERYJumlah kueri lambat.
MYSQL_TCACHE_GETJumlah cache hit.
MYSQL_TCACHE_MISSJumlah cache miss.
MYSQL_TMPFILE_CREATEDJumlah file sementara yang dibuat.
MYSQL_TMP_TABLESJumlah tabel sementara yang dibuat.
MYSQL_TMP_DISKTABLESJumlah tabel disk sementara yang dibuat.
MYSQL_SORT_MERGEJumlah kali data digabung dan diurutkan.
MYSQL_SORT_ROWSJumlah baris yang diurutkan.
MYSQL_BYTES_RECEIVEDJumlah data yang diterima. Unit: byte.
MYSQL_BYTES_SENTJumlah data yang dikirim. Unit: byte.
MYSQL_BINLOG_OFFSETUkuran file log biner yang dihasilkan. Unit: byte.
MYSQL_IOLOG_OFFSETUkuran file log biner yang dikirim oleh node utama. Unit: byte.
MYSQL_RELAYLOG_OFFSETUkuran file log biner yang diterapkan oleh node baca-saja. Unit: byte.
EXTRAStatistik tentang InnoDB. Nilai parameter EXTRA terdiri dari beberapa bidang dan dalam format JSON. Untuk informasi lebih lanjut, lihat bagian "Bidang dalam nilai parameter EXTRA" dari topik ini.
Catatan Nilai metrik dalam statistik InnoDB sama dengan nilai yang diperoleh dengan mengeksekusi pernyataan SHOW STATUS.

Tabel 1. Bidang dalam nilai parameter EXTRA

BidangDeskripsi
INNODB_TRX_CNTJumlah transaksi.
INNODB_DATA_READJumlah data yang dibaca. Unit: byte.
INNODB_IBUF_SIZEJumlah halaman yang digabungkan.
INNODB_LOG_WAITSJumlah kali InnoDB menunggu untuk menulis data log.
INNODB_MAX_PURGEJumlah transaksi yang dihapus.
INNODB_N_WAITINGJumlah kunci yang sedang ditunggu oleh InnoDB.
INNODB_ROWS_READJumlah baris yang dibaca.
INNODB_LOG_WRITESJumlah kali data log ditulis oleh InnoDB.
INNODB_IBUF_MERGESJumlah kali data digabungkan oleh InnoDB.
INNODB_DATA_WRITTENJumlah data yang ditulis. Unit: byte.
INNODB_DBLWR_WRITESJumlah operasi penulisan ganda.
INNODB_IBUF_SEGSIZEUkuran data yang dimasukkan ke dalam buffer.
INNODB_ROWS_DELETEDJumlah baris yang dihapus.
INNODB_ROWS_UPDATEDJumlah baris yang diperbarui.
INNODB_COMMIT_TRXCNTJumlah transaksi yang dikomit.
INNODB_IBUF_FREELISTPanjang daftar idle.
INNODB_MYSQL_TRX_CNTJumlah transaksi MySQL.
INNODB_ROWS_INSERTEDJumlah baris yang disisipkan.
INNODB_ACTIVE_TRX_CNTJumlah transaksi aktif.
INNODB_OS_LOG_WRITTENJumlah data log yang ditulis. Unit: byte.
INNODB_ACTIVE_VIEW_CNTJumlah tampilan aktif.
INNODB_RSEG_HISTORY_LENPanjang tabel TRX_RSEG_HISTORY.
INNODB_AVG_COMMIT_TRXTIMERata-rata waktu yang dibutuhkan untuk mengcommit transaksi.
INNODB_MAX_COMMIT_TRXTIMEWaktu maksimum yang dibutuhkan untuk mengcommit transaksi.
INNODB_DBLWR_PAGES_WRITTENJumlah penulisan yang diselesaikan oleh operasi penulisan ganda.

Penggunaan

  • Anda dapat mengeksekusi pernyataan berikut untuk menanyakan tabel sistem guna mendapatkan data performa.
    • Kueri utilisasi CPU dan penggunaan memori selama 30 detik sebelumnya. Contoh:
      MySQL> select TIME, PROCS_MEM_USAGE, PROCS_CPU_RATIO from performance_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)
    • Kueri baris yang dibaca dan ditulis oleh InnoDB selama 30 detik sebelumnya. Contoh:
      MySQL> select TIME, EXTRA->'$.INNODB_ROWS_READ', EXTRA->'$.INNODB_ROWS_INSERTED' from performance_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)
  • Hubungkan ke platform pemantauan untuk memantau performa database Anda secara real-time. Sebagai contoh, hubungkan ke Grafana. Grafana