Sebahagian besar metrik prestasi MySQL boleh diperolehi dalam dua cara berikut:
Penunjuk prestasi MySQL diperoleh menggunakan perintah status lanjutan mysqladmin lalai kepada nilai kumulatif. Jika anda ingin mengetahui status semasa, anda perlu mengira perbezaan; dengan parameter --relative(-r), anda boleh melihat perbezaan setiap penunjuk dan dengan parameter --sleep(-i), anda boleh menentukan kekerapan muat semula.
Boleh menyenaraikan pelbagai nilai status pelayan MySQL berjalan, nilai kumulatif.
Perintah status lanjutan Mysqladmin dan tunjukkan status global mendapat banyak item penunjuk. Dalam aplikasi praktikal, fokus pada penunjuk prestasi berikut:
tps: Transaksi Sesaat, bilangan transaksi sesaat
qps: Pertanyaan Sesaat;
Biasanya ada dua cara untuk mengira tps/qps:
Kaedah 1: Kira tps berdasarkan com_commit dan com_rollback, dan kira qps berdasarkan soalan.
TPS = Com_commit/s + Com_rollback/s
Antaranya,
Com_commit /s= mysqladmin extended-status --relative --sleep=1|grep -w Com_commit
Com_rollback/s = mysqladmin extended-status --relative --sleep=1|grep -w Com_rollback
QPS merujuk kepada jumlah keseluruhan Pertanyaan yang dilaksanakan oleh Pelayan MySQL sesaat, yang lebih kurang diwakili oleh perubahan dalam nilai status Soalan (bilangan pertanyaan pelanggan) sesaat, jadi terdapat:
QPS = mysqladmin extended-status --relative --sleep=1|grep -w Questions
Mengikut kaedah di atas, anda juga boleh mendapatkan bilangan pilihan MySQL, sisipan, kemas kini, pemadaman sesaat, dll., seperti:
Com_select/s = mysqladmin extended-status --relative --sleep=1|grep -w Com_select
Com_select/s: Purata bilangan pelaksanaan pernyataan pilihan sesaat
Com_insert/s: purata bilangan pelaksanaan pernyataan sisipan sesaat
Com_update/s: Purata bilangan pelaksanaan kenyataan kemas kini sesaat
Com_delete/s: purata bilangan pelaksanaan kenyataan padam sesaat
Kaedah 2: Kira tps, qps berdasarkan com_%
tps= Com_insert/s + Com_update/s + Com_delete/s
qps=Com_select/s + Com_insert/s + Com_update/s + Com_delete/s
threads_running: Bilangan thread sedang aktif
threads_connected: Bilangan thread yang sedang disambungkan
Bytes_received/s: Purata bilangan bait yang diterima daripada semua pelanggan sesaat, unit KB
Bytes_sent/s: Purata bilangan bait yang dihantar kepada semua pelanggan sesaat, unit KB
innodb_data_reads: Purata bilangan kali innodb membaca daripada fail sesaat
innodb_data_writes: Purata bilangan kali innodb menulis daripada fail sesaat
innodb_data_fsyncs: Purata bilangan operasi fsync() yang dilakukan oleh innodb sesaat
innodb_data_read: Purata jumlah data yang dibaca oleh innodb sesaat, dalam KB
innodb_data_written: Purata jumlah data yang ditulis oleh innodb sesaat, dalam KB
innodb_buffer_pool_reads: Purata bilangan halaman dibaca daripada cakera fizikal sesaat
innodb_buffer_pool_read_requests: Purata bilangan bacaan daripada kumpulan penimbal innodb sesaat (bilangan permintaan bacaan logik)
innodb_buffer_pool_write_requests: Purata bilangan penulisan ke kumpulan penimbal innodb sesaat
innodb_buffer_pool_pages_dirty: purata bilangan halaman kotor dalam kolam cache innodb sesaat
innodb_buffer_pool_pages_flushed: Purata bilangan permintaan halaman flush dalam kumpulan cache innodb sesaat
Baca kadar pukulan kolam penimbal innodb
innodb_buffer_read_hit_ratio = ( 1 - Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100
Penggunaan kolam penimbal Innodb
Innodb_buffer_usage = ( 1 - Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total) * 100
innodb_os_log_fsyncs: Purata bilangan fsync() menulis ke fail log sesaat
innodb_os_log_written: Purata bilangan bait yang ditulis pada fail log sesaat
innodb_log_writes: Purata bilangan penulisan fizikal ke fail log sesaat
innodb_log_write_requests: purata bilangan permintaan menulis log sesaat
innodb_rows_deleted: Purata bilangan baris yang dipadamkan daripada jadual innodb sesaat
innodb_rows_inserted: Purata bilangan baris yang disisipkan daripada jadual innodb sesaat
innodb_rows_read: Purata bilangan baris dibaca daripada jadual innodb sesaat
innodb_rows_updated: Purata bilangan baris yang dikemas kini daripada jadual innodb sesaat
innodb_row_lock_waits: Bilangan kali baris mesti menunggu untuk dikunci
innodb_row_lock_time: Jumlah masa yang dibelanjakan untuk mengunci baris, dalam milisaat
innodb_row_lock_time_avg: purata masa kunci baris, dalam milisaat
key_read_requests: Purata bilangan bacaan MyISAM daripada kumpulan penimbal sesaat
Key_write_requests: Purata bilangan MyISAM menulis daripada kumpulan penimbal sesaat
key_reads: Purata bilangan kali MyISAM membaca dari cakera keras sesaat
key_writes: Purata bilangan kali MyISAM menulis daripada cakera keras sesaat
Purata penggunaan penimbal kunci MyISAM sesaat
Nisbah_penggunaan_kunci =Blok_kunci_digunakan/(Blok_kunci_digunakan+Blok_kunci_tidak_digunakan)*100
Kadar pukulan bacaan purata penimbal kunci MyISAM sesaat
Key_read_hit_ratio=(1-Key_reads/Key_read_requests)*100
Kadar pukulan tulis penimbal kunci purata MyISAM sesaat
Nisbah_hit_tulisan_kunci =(1-tulisan_kunci/permintaan_tulisan_kunci)*100
Created_tmp_disk_tables: Bilangan jadual sementara yang dibuat secara automatik pada cakera keras apabila pelayan melaksanakan pernyataan
Created_tmp_tables: Bilangan jadual sementara dalam memori yang dicipta secara automatik apabila pelayan melaksanakan pernyataan
Nisbah Created_tmp_disk_tables/Created_tmp_tables sebaiknya tidak melebihi 10%.
slow_queries: Bilangan pertanyaan yang masa pelaksanaannya melebihi long_query_time saat (penting)
sort_rows: Bilangan baris yang diisih
open_files: Bilangan fail yang terbuka
open_tables: Bilangan jadual yang sedang dibuka
select_scan: Bilangan cantuman untuk imbasan penuh jadual pertama
Selain itu, terdapat beberapa penunjuk prestasi yang tidak boleh diperolehi terus melalui mysqladmin extended-status atau menunjukkan status global, tetapi ia sangat penting.
Percona menyediakan alat tcprstat untuk mengukur masa respons Fungsi ini dimatikan secara lalai Anda boleh menghidupkan fungsi ini dengan menetapkan parameter query_response_time_stats=1.
Terdapat dua cara untuk menyemak masa tindak balas:
(1) Lihat statistik masa respons melalui arahan SHOW QUERY_RESPONSE_TIME
(2) Lihat melalui jadual QUERY_RESPONSE_TIME dalam INFORMATION_SCHEMA.
http://www.orczhou.com/index.php/2011/09/thanks-percona-response-time-distribution/comment-page-1/ (artikel rujukan)
Anda boleh melaksanakan perintah show slave statusG pada nod hamba Nilai item Seconds_Behind_Master ialah kelewatan semasa hamba, dalam beberapa saat.
Atas ialah kandungan terperinci Penjelasan terperinci tentang penunjuk prestasi MySQL dan kaedah pengiraan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!