Performance Insight adalah alat andal untuk memantau beban instans, menganalisis korelasi, dan menyetel kinerja. Fitur ini membantu Anda menilai beban database secara cepat, mengidentifikasi akar penyebab masalah kinerja, serta meningkatkan stabilitas database.
Prasyarat
Instans ApsaraDB RDS for MySQL Anda harus menjalankan MySQL 8.4, 8.0, atau 5.7, dengan versi mesin minor 20190915 atau lebih baru.
Anda dapat memeriksa versi mesin minor pada halaman Basic Information. Di bagian Configuration Information, periksa apakah tombol Upgrade Kernel Version ditampilkan. Jika tombol tersebut muncul, klik untuk melihat versi saat ini. Jika tidak, instans Anda sudah menjalankan versi terbaru. Untuk informasi selengkapnya, lihat Upgrade the minor engine version.
Wawasan Kinerja
Performance Insight terdiri dari dua komponen:
Statistik objek
Statistik objek menyediakan statistik mengenai tabel dan indeks. Fitur ini mencakup dua tabel:
TABLE_STATISTICS: Mencatat jumlah baris yang dibaca dan dimodifikasi.INDEX_STATISTICS: Mencatat jumlah baris yang dibaca oleh indeks.
Performance point
Performance point menyediakan informasi kinerja terperinci untuk suatu instans guna membantu Anda mengkuantifikasi biaya Pernyataan SQL secara lebih cepat dan akurat. Fitur ini mencakup tiga dimensi:
CPU: Meliputi metrik seperti total waktu eksekusi (Elapsed time) dan waktu CPU.
LOCK: Meliputi metrik seperti waktu kunci metadata server (MDL), waktu kunci transaksi, kontensi mutex (hanya dalam mode debug), dan kontensi kunci baca-tulis.
IO: Meliputi metrik seperti waktu baca dan tulis file data, waktu tulis file log, logical reads, physical reads, dan physical asynchronous reads.
Menggunakan statistik objek
Verifikasi bahwa parameter OPT_TABLESTAT dan OPT_INDEXSTAT diatur ke ON. Contohnya:
mysql> show variables like "opt_%_stat"; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | opt_indexstat | ON | | opt_tablestat | ON | +---------------+-------+Kueri tabel
TABLE_STATISTICSatauINDEX_STATISTICSdi databaseinformation_schemauntuk melihat statistik tabel dan indeks. Contohnya: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 | +--------------+--------------+------------+-----------+Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
TABLE_SCHEMA
Nama database.
TABLE_NAME
Nama tabel.
ROWS_READ
Jumlah baris yang dibaca.
ROWS_CHANGED
Jumlah baris yang dimodifikasi.
ROWS_CHANGED_X_INDEXES
Jumlah pembaruan indeks yang dihasilkan dari perubahan baris.
ROWS_INSERTED
Jumlah baris yang disisipkan.
ROWS_DELETED
Jumlah baris yang dihapus.
ROWS_UPDATED
Jumlah baris yang diperbarui.
INDEX_NAME
Nama indeks.
Menggunakan performance point
Verifikasi parameter Performance point. Output berikut menunjukkan fitur tersebut telah diaktifkan:
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 | +---------------------------------------+-------+CatatanJika variabel-variabel ini tidak ditemukan, pastikan instans Anda memenuhi prasyarat.
Kueri tabel
events_statements_summary_by_digest_supplementdi databaseperformance_schemauntuk melihat statistik Pernyataan SQL. Contohnya: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 | +--------------------+----------------------------------+-------------------------------------------+--------------+Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
SCHEMA_NAME
Nama database.
DIGEST
String hash 64-byte yang dihasilkan dari nilai DIGEST_TEXT.
DIGEST_TEXT
Bentuk normalisasi dari Pernyataan SQL.
ELAPSED_TIME
Total waktu eksekusi. Satuan: mikrodetik (μs).
CPU_TIME
Waktu CPU. Satuan: mikrodetik (μs).
SERVER_LOCK_TIME
Waktu kunci server. Satuan: mikrodetik (μs).
TRANSACTION_LOCK_TIME
Waktu kunci transaksi. Satuan: mikrodetik (μs).
MUTEX_SPINS
Jumlah spin mutex.
MUTEX_WAITS
Jumlah wait mutex.
RWLOCK_SPIN_WAITS
Jumlah spin wait untuk kunci baca-tulis.
RWLOCK_SPIN_ROUNDS
Jumlah putaran spin untuk kunci baca-tulis.
RWLOCK_OS_WAITS
Jumlah wait sistem operasi untuk kunci baca-tulis.
DATA_READS
Jumlah operasi baca dari file data.
DATA_READ_TIME
Waktu yang dihabiskan untuk membaca dari file data. Satuan: mikrodetik (μs).
DATA_WRITES
Jumlah operasi tulis ke file data.
DATA_WRITE_TIME
Waktu yang dihabiskan untuk menulis ke file data. Satuan: mikrodetik (μs).
REDO_WRITES
Jumlah operasi tulis ke file log.
REDO_WRITE_TIME
Waktu yang dihabiskan untuk menulis ke file log. Satuan: mikrodetik (μs).
LOGICAL_READS
Jumlah pembacaan halaman logis.
PHYSICAL_READS
Jumlah physical page reads.
PHYSICAL_ASYNC_READS
Jumlah pembacaan halaman fisik asinkron.
Kueri tabel
IO_STATISTICSdi databaseinformation_schemauntuk melihat aktivitas baca dan tulis data terbaru. Contohnya: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 | +---------------------+-----------+----------------+Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
TIME
Timestamp catatan.
DATA_READ
Jumlah operasi baca data.
DATA_READ_TIME
Total waktu yang dihabiskan untuk membaca data. Satuan: mikrodetik (μs).
DATA_READ_MAX_TIME
Waktu maksimum yang dihabiskan untuk satu operasi baca data. Satuan: mikrodetik (μs).
DATA_READ_BYTES
Total ukuran data yang dibaca. Satuan: byte.
DATA_WRITE
Jumlah operasi tulis data.
DATA_WRITE_TIME
Total waktu yang dihabiskan untuk menulis data. Satuan: mikrodetik (μs).
DATA_WRITE_MAX_TIME
Waktu maksimum yang dihabiskan untuk satu operasi tulis data. Satuan: mikrodetik (μs).
DATA_WRITE_BYTES
Total ukuran data yang ditulis. Satuan: byte.