Rumah  >  Artikel  >  Tutorial sistem  >  Penjelasan terperinci tentang penunjuk prestasi MySQL dan kaedah pengiraan

Penjelasan terperinci tentang penunjuk prestasi MySQL dan kaedah pengiraan

王林
王林ke hadapan
2024-03-10 21:07:46367semak imbas

Sebahagian besar metrik prestasi MySQL boleh diperolehi dalam dua cara berikut:

Penjelasan terperinci tentang penunjuk prestasi MySQL dan kaedah pengiraan

mysqladmin

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.

Penjelasan terperinci tentang penunjuk prestasi MySQL dan kaedah pengiraan

Penjelasan terperinci tentang penunjuk prestasi MySQL dan kaedah pengiraan

Tunjukkan status global

Boleh menyenaraikan pelbagai nilai status pelayan MySQL berjalan, nilai kumulatif.

Penjelasan terperinci tentang penunjuk prestasi MySQL dan kaedah pengiraan

Perintah status lanjutan Mysqladmin dan tunjukkan status global mendapat banyak item penunjuk. Dalam aplikasi praktikal, fokus pada penunjuk prestasi berikut:

1. tps/qps

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

2. Status benang

threads_running: Bilangan thread sedang aktif

threads_connected: Bilangan thread yang sedang disambungkan

3. Status trafik

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

4 Bilangan fail innodb membaca dan menulis

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

5. innodb baca dan tulis jilid

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

6. Status kolam penimbal innodb

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

7. log innodb

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

8. innodb line

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

9 MyISAM masa baca dan tulis

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

10. Kolam Penampan MyISAM

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

11. Meja sementara

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%.

12

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.

13 masa tindak balas: masa tindak balas

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)

14. Kelewatan budak: Kelewatan budak

Anda boleh melaksanakan perintah show slave statusG pada nod hamba Nilai item Seconds_Behind_Master ialah kelewatan semasa hamba, dalam beberapa saat.

Penjelasan terperinci tentang penunjuk prestasi MySQL dan kaedah pengiraan

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!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam