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
> 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
> 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
4 Analisis log pertanyaan msql
perldoc /usr/bin/pt-query-digest
pt-query-digest mysql-slow.log > slow_report.log
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
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'
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
# 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 说明:查询的字符数
cnt Kekerapan/kiraan pertanyaan (mengikut bilangan kejadian sql)
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
# 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
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!