Heim > Datenbank > MySQL-Tutorial > Beispielanalyse von Nutzungsdatensätzen des Tools pt-query-digest in MySQL

Beispielanalyse von Nutzungsdatensätzen des Tools pt-query-digest in MySQL

藏色散人
Freigeben: 2022-11-30 17:07:01
nach vorne
1660 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL. Er stellt hauptsächlich das Tool pt-query-digest für die Analyse langsamer MySQL-Abfrageprotokolle vor. Ich hoffe, es wird für alle hilfreich sein.

1. Einführung

pt-query-digest ist ein Tool zur Analyse langsamer MySQL-Abfrageprotokolle. Es kann auch Protokolldaten in tcpdump aus „SHOW PROCESSLIST“ und MySQL-Abfragen analysieren. Wir können das Analyseprotokoll in eine bestimmte Datei ausgeben und durch Analyse der Protokolldatei entsprechende Optimierungen und andere Vorgänge durchführen.

2. Herunterladen und installieren

  • Je nach unterschiedlicher Systeminstallation ist mein System Centos, also wählen Sie direkt die Centos-Installation aus Paket zum Kompilieren Installation
    > 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
    Nach dem Login kopieren
  • 3. Installation abgeschlossen

4. Analysieren Sie das langsame Abfrageprotokoll von msql

  • Beispielanalyse von Nutzungsdatensätzen des Tools pt-query-digest in MySQLpt-query-digest Parameter Sie können den Befehl perldoc zum Anzeigen verwenden ee
Analysieren Sie die gesamte langsame Protokolldatei
> 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
Nach dem Login kopieren

analysiert die Protokolle der angegebenen Zeit seit~until

perldoc /usr/bin/pt-query-digest
Nach dem Login kopieren

–seit: gibt die Startzeit an
  • –bis: gibt die Endzeit an
  • analysiert das langsame Protokoll und speichert die Analyseergebnisse zur MySQL-Datentabelle
    pt-query-digest mysql-slow.log > slow_report.log
    Nach dem Login kopieren
    • –Benutzer: Datenbank-Benutzername
    • –Passwort: Datenbank-Passwort
    h: Datenbank-Host
  • D: Datenbankname
    • t: Generierter Tabellenname
    • 5. Ergebnisanalyse
    • Teil 1: Eine allgemeine Analyseübersicht

Gesamt: Wie viele Abfragen gibt es insgesamt? , wie viele verschiedene Abfragen es nach der Parametrisierung der Abfragebedingungen insgesamt gibt

total: Gesamtdauer aller Abfragen

  • min: Mindestdauer aller Abfragen

  • max: Maximale Dauer aller Abfragen

  • avg: Durchschnittliche Dauer aller Abfragen

  • 95 %: Kombinieren Sie alle Dauerwerte. Von klein nach groß geordnet, liegt die Dauerzahl bei 95 %, diese Zahl ist im Allgemeinen die wertvollste als Referenz.

  • Median: Median, alle Dauerwerte sind von klein nach groß angeordnet, die Dauerzahl liegt in der Mitte

  • 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
    Nach dem Login kopieren

  • Teil 2: Analyse
  • Rang: Rangfolge aller Anweisungen, standardmäßig in absteigender Reihenfolge der Abfragezeit, angegeben durch –order-by
  • –order-by Query_time:sum: In absteigender Reihenfolge der gesamten Abfragezeit
  • Einführung in Sortierparameter:
  • sum Summe/Gesamtattributwert (Standardwert)

    min Minimaler Attributwert (Minimalwert)

    max Maximaler Attributwert (Minimalwert)
  • cnt Häufigkeit/Anzahl der Abfrage (nach Anzahl der SQL-Vorkommen)

Abfrage-ID: ID der Anweisung (zusätzliche Leerzeichen und Textzeichen entfernen, Hash-Wert berechnen)
  • Antwort: Gesamtantwortzeit


    • Zeit: Der Gesamtzeitanteil dieser Abfrage in dieser Analyse


    • Aufrufe: Die Anzahl der Ausführungen, also die Gesamtzahl der Abfrageanweisungen dieses Typs in dieser Analyse
  • R/Call: Die durchschnittliche Antwortzeit jeder Ausführung

  • V/M: Antwortzeit-Varianz-zu- Das Verhältnis des Mittelwerts

  • Item: Abfrageobjekt

  • 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'
    Nach dem Login kopieren

    Teil 3: Spezifisch SQL-Statistiken und -Analyse

  • pct: Der Prozentsatz eines Ausführungsattributs der SQL-Anweisung zu einem Ausführungsattribut aller langsamen Abfrageanweisungen

  • total: Alle Attributzeiten eines Ausführungsattributs der SQL-Anweisung.

  • Anzahl: Die Häufigkeit, mit der die SQL-Anweisung ausgeführt wird. Der entsprechende pct gibt an, wie oft diese SQL-Anweisung ausgeführt wird, als Prozentsatz der Anzahl der Ausführungen aller langsamen Abfrageanweisungen (69 % in der Abbildung unten), und die entsprechende Summe gibt insgesamt 30988 Ausführungen an. ?? Daten, Nichtzieldaten.

Query_time distribution: Abfragezeitverteilung

  • SQL-Anweisung: Wählen Sie in der Abbildung unten Sleep(7)G

  • # 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
    说明:查询的字符数
    Nach dem Login kopieren

    Six View Offset
  • Sie können den Offset in der langsamen Abfrage verwenden log Um die spezifische SQL-Anweisung in der Datei zu finden, lautet die Suchmethode wie folgt:
  • # 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>
    Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBeispielanalyse von Nutzungsdatensätzen des Tools pt-query-digest in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage