Rumah  >  Artikel  >  pangkalan data  >  Contoh analisis rekod penggunaan alat pt-query-digest dalam MySQL

Contoh analisis rekod penggunaan alat pt-query-digest dalam MySQL

藏色散人
藏色散人ke hadapan
2022-11-30 17:07:011602semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang mysql terutamanya memperkenalkan alat pt-query-digest untuk menganalisis log pertanyaan lambat mysql Mari kita lihat bersama-sama.

1. Pengenalan

pt-query-digest ialah alat untuk menganalisis log pertanyaan lambat mysql Ia juga boleh menganalisis pertanyaan daripada "SHOW PROCESSLIST" dan data Protokol MySQL dalam tcpdump. Kami boleh mengeluarkan log analisis ke fail tertentu dan melakukan pengoptimuman yang sepadan dan operasi lain dengan menganalisis fail log.

2. Muat turun dan pasang

  • Pasang mengikut sistem yang berbeza Sistem saya adalah centos, jadi terus pilih pemasangan centos, Klik untuk memuat turun
  • Secara langsung gunakan yum untuk memasang
> wget https://downloads.percona.com/downloads/percona-toolkit/3.4.0/binary/redhat/7/x86_64/percona-toolkit-3.4.0-3.el7.x86_64.rpm
> yum install percona-toolkit-3.4.0-3.el7.x86_64.rpm
  • atau gunakan pakej kod sumber untuk menyusun dan memasang
> wget https://downloads.percona.com/downloads/percona-toolkit/3.4.0/source/debian/percona-toolkit-3.4.0.tar.gz
> tar -zxvf percona-toolkit-3.4.0.tar.gz
> cd percona-toolkit-3.4.0
> perl Makefile.PL PREFIX=/usr/local/percona-toolkit
> make && make install

3. Pemasangan selesai

  • Contoh analisis rekod penggunaan alat pt-query-digest dalam MySQL

4 Analisis log pertanyaan msql

  • pt Parameter -query-digest boleh dilihat menggunakan perintah perldoc
    perldoc /usr/bin/pt-query-digest
  • Analisis keseluruhan fail log perlahan
    pt-query-digest mysql-slow.log > slow_report.log
  • Analisis log masa yang ditentukan sejak ~ sehingga
    pt-query-digest mysql-slow.log --since '2022-10-01 00:00:00' --until '2022-11-05 00:00:00'  > slow_report_date_20221021-202221105.log
    • –sejak: menunjukkan masa mula
    • –sehingga: menunjukkan masa tamat
  • Analisis log perlahan dan simpan analisis keputusan ke jadual data mysql
    pt-query-digest --user=root --password=123456 --history 
    h=192.168.33.10,D=local_test_db,t=query_review --create-history-table  mysql-slow.log  --since 
    '2022-11-01 00:00:00' --until '2022-11-05 00:00:00'
    • –pengguna: nama pengguna pangkalan data
    • –kata laluan: kata laluan pangkalan data
    • h: hos pangkalan data
    • D: pangkalan data nama
    • t: nama jadual terhasil

5. >

Secara keseluruhan: Berapakah jumlah pertanyaan yang terdapat

  • Julat masa: Julat masa pelaksanaan pertanyaan

  • unik: Bilangan pertanyaan unik, iaitu syarat pertanyaan Selepas parameterisasi, berapa jumlah pertanyaan yang berbeza

  • jumlah: jumlah tempoh semua pertanyaan

  • min: tempoh minimum semua pertanyaan

  • maks: tempoh maksimum semua pertanyaan

  • purata : purata tempoh semua pertanyaan

  • 95%: Semua nilai tempoh disusun dari kecil ke besar, dan nombor tempoh yang terletak pada 95% secara amnya adalah yang paling berharga untuk rujukan

  • median: median, semua nilai tempoh disusun dari kecil ke besar , bilangan tempoh di tengah

  • –pesanan-mengikut Query_time:sum: Isih mengikut jumlah masa pertanyaan dalam tertib menurun
  • Pengenalan kepada parameter:
    # A software update is available:
    
    # 23.7s user time, 15.8s system time, 35.67M rss, 249.01M vsz
    说明:
    执行过程中,在用户中所花费的所有时间
    执行过程中,在内核空间中所花费的所有时间
    pt-query-digest 进程所分配的内存大小
    pt-query-digest 进程所分配的虚拟内存大小
    
    # Current date: Mon Nov  7 09:01:23 2022
    说明:当前时间
    # Hostname: localhost.localdomain
    说明:执行pt-query-digest的主机名
    # Files: mysql-slow.log
    说明:被分析的文件名称
    # Overall: 44.78k total, 54 unique, 0.01 QPS, 0.07x concurrency __________
    说明:
    total: 语句总数量
    unique: 唯一语句数量
    QPS: 每秒查询量
    concurrency: 查询的并发
    
    # Time range: 2022-10-01 00:00:03 to 2022-11-04 16:05:24
    说明:执行过程中日志记录的时间范围
    # Attribute          total     min     max     avg     95%  stddev  median
    说明:属性            总计      最小值   最大值  平均值   95%  标准差   中位数
    95%: 把所有时长值从小到大排列,位置位于 95% 的那个时长数,这个数一般最具有参考价值
    median: 中位数,把所有时长值从小到大排列,位置位于中间那个时长数
    
    # ============     ======= ======= ======= ======= ======= ======= =======
    # Exec time        204553s      3s   1540s      5s     10s      8s      3s
    说明:执行时间
    # Lock time             8s       0   107ms   186us    80us     2ms    36us
    说明:锁占用时间
    # Rows sent        238.87M       0   2.88M   5.46k   11.95  68.22k    0.99
    说明:发送到客户端的行数
    # Rows examine      73.56G       0   5.01M   1.68M   3.86M 724.49k   1.32M
    说明:扫描的语句行数
    # Query size         8.18M      30   4.36k  191.46  511.45  224.63   72.65
    说明:查询的字符数
    jumlah Jumlah /jumlah nilai atribut (nilai lalai)
  • min Nilai atribut minimum (nilai minimum)
nilai atribut maksimum maksimum (nilai minimum)

cnt Kekerapan/kiraan pertanyaan (mengikut bilangan kejadian sql)

  • ID Pertanyaan: ID daripada penyataan (alih keluar ruang tambahan dan aksara teks, kira nilai cincang)


    • Respons: Jumlah masa respons


    • masa: jumlah bahagian masa bagi pertanyaan ini dalam analisis ini
  • Panggilan: bilangan pelaksanaan, iaitu, berapa banyak pertanyaan sedemikian yang terdapat dalam analisis ini Pernyataan pertanyaan jenis

  • R/Panggilan: Purata masa respons untuk setiap pelaksanaan

  • V/M: Nisbah Varians-ke-min masa tindak balas daripada

  • Item : Objek pertanyaan

  • Bahagian 3: Statistik dan analisis SQL khusus
  • pct: Peratusan atribut pelaksanaan pernyataan sql kepada atribut pelaksanaan semua pernyataan pertanyaan perlahan
  • jumlah: Semua masa atribut atribut pelaksanaan pernyataan sql.
# Profile
说明:分析
# Rank Query ID                            Response time    Calls R/Call  
# ==== =================================== ================ ===== ======= 
#    1 0xC000AA97F210B2AEAE4933AF9B00296A  104236.2061 5... 30988  3.3638  0.03 SELECT xxx
#    2 0x974C6E6D54DB8B0DF505CA7BDC508686  32167.9607 15.7%  3418  9.4113  1.34 SELECT xxx 
#    3 0x6BE180C5804B585F25BB16550447DC6C  18453.0185  9.0%  2499  7.3842  0.92 SELECT xxx
#    4 0xADF16E3E9EB5D6B08245E39FF1428C9F  17873.4338  8.7%  3114  5.7397  0.84 SELECT xxx 
#    5 0x2964CD629A24595719659BDAEBCF0E6F  10648.5404  5.2%  1437  7.4103  0.93 SELECT xxx
#    6 0x50566E6DCF8FA562B88AE41AB1E32DC6   7424.3855  3.6%   303 24.5029 15.41 SELECT xxx
#    7 0xDB0A3D60F85C2212C476B144E1678AB8   5327.8370  2.6%  1627  3.2746  0.05 SELECT xxx
#    8 0x04BB0B332CEED517298AB06DE2A30AD6   3190.6822  1.6%   657  4.8564  1.36 SELECT xxx    
#   10 0xDAB0AF524151C621DC0E9B92AC002C38    526.6288  0.3%   140  3.7616  0.01 SELECT xxx 
# MISC 0xMISC                               1807.1067  0.9%    57 31.7036   0.0 <27 ITEMS>

Kiraan: Bilangan kali pernyataan sql dilaksanakan. Pct yang sepadan menunjukkan bilangan kali pernyataan SQL ini dilaksanakan sebagai peratusan bilangan kali semua pernyataan pertanyaan perlahan dilaksanakan (69% dalam rajah di bawah), dan jumlah yang sepadan menunjukkan sejumlah 30988 pelaksanaan.

  • Masa eksekusi: masa pelaksanaan sql

  • Masa kunci: masa terkunci sql semasa pelaksanaan

  • Baris dihantar: Data sah yang dihantar mempunyai nilai hanya dalam pernyataan pertanyaan pilihan

  • Baris memeriksa: Jumlah data pertanyaan, data bukan sasaran.

  • Taburan masa_kueri: Taburan masa pertanyaan

  • Pernyataan SQL: Gambar di bawah ialah pilih sleep(7)G

  • Enam Paparan Offset
  • Anda boleh menggunakan offset untuk mencari pernyataan SQL tertentu dalam fail log pertanyaan perlahan Kaedah carian adalah seperti berikut :

Atas ialah kandungan terperinci Contoh analisis rekod penggunaan alat pt-query-digest dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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