mysql運維利器percona-toolkit工具之pt-query-digest
本文目錄
-
前提條件
-
開啟慢查詢
-
執行sql
-
pt-query-digest語法
-
使用pt-query-digest分析慢查詢日誌
-
相關文章
-
聯絡方式
前提條件
-
mysql版本5.7.21
-
redhat 6.8
開啟慢查詢
啟用慢查詢
mysql> set global slow_query_log=on; Query OK, 0 rows affected (0.01 sec)
啟用未使用索引慢查詢
mysql> set global log_queries_not_using_indexes=on; Query OK, 0 rows affected (0.00 sec)
執行sql
建立測試表
mysql> use zxydb; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> insert into t_slow select * from t_slow; Query OK, 8388608 rows affected (35.04 sec) Records: 8388608 Duplicates: 0 Warnings: 0
執行sql查詢
mysql> select count(*) from zxydb.t_slow; +----------+ | count(*) | +----------+ | 16777216 | +----------+ 1 row in set (6.48 sec)
pt-query-digest語法
查詢pt-query-digest選項
[root@three57 percona-toolkit-3.1.0]# pt-query-digest --help pt-query-digest analyzes MySQL queries from slow, general, and binary log files. It can also analyze queries from C<SHOW PROCESSLIST> and MySQL protocol data from tcpdump. By default, queries are grouped by fingerprint and reported in descending order of query time (i.e. the slowest queries first). If no C<FILES> are given, the tool reads C<STDIN>. The optional C<DSN> is used for certain options like L<"--since"> and L<"--until">. For more details, please use the --help option, or try 'perldoc /usr/local/bin/pt-query-digest' for complete documentation. Usage: pt-query-digest [OPTIONS] [FILES] [DSN] Options: --ask-pass Prompt for a password when connecting to MySQL --attribute-aliases=a List of attribute|alias,etc (default db|Schema) --attribute-value-limit=i A sanity limit for attribute values (default 0) --charset=s -A Default character set --config=A Read this comma-separated list of config files; if specified, this must be the first option on the command line
獲取完整pt-query-digest全部語義資訊
[root@three57 percona-toolkit-3.1.0]# man pt-query-digest>/pt-query.log
使用pt-query-digest分析慢查詢日誌
[root@three57 percona-toolkit-3.1.0]# pt-query-digest /var/lib/mysql/three57-slow.log 使用者時間分佈及程式內程記憶體 # 100ms user time, 10ms system time, 21.88M rss, 173.04M vsz 當前系統時間 # Current date: Wed Nov 13 15:29:44 2019 主機名稱 # Hostname: three57 慢查詢日誌 # Files: /var/lib/mysql/three57-slow.log QPS及併發 # Overall: 1 total, 1 unique, 0 QPS, 0x concurrency ______________________ # Time range: all events occurred at 2019-11-13T07:28:59 屬性:全部,最小,最大,平均,95%,平均利差,中差 # Attribute total min max avg 95% stddev median # ============ ======= ======= ======= ======= ======= ======= ======= SQL執行時間 # Exec time 7s 7s 7s 7s 7s 0 7s 鎖定時間 # Lock time 127us 127us 127us 127us 127us 0 127us SQL產生結果個數 # Rows sent 1 1 1 1 1 0 1 SQL掃描表記錄 # Rows examine 16.00M 16.00M 16.00M 16.00M 16.00M 0 16.00M 查詢大小 # Query size 33 33 33 33 33 0 33 符合慢查詢SQL的概述,極重要,排版一個字,棒 # Profile RANK為排名編號 query id為具體SQL response time為sql響應時間 calls為SQL執行次數 r/call為每次SQL執行的響應時間,具體的SQL語句 # Rank Query ID Response time Calls R/Call V/M # ==== ================================== ============= ===== ====== ===== # 1 0xAC104A376C0A55B1F56FDA6E706E555F 6.7433 100.0% 1 6.7433 0.00 SELECT zxydb.t_slow 具體慢查詢SQL語句 # Query 1: 0 QPS, 0x concurrency, ID 0xAC104A376C0A55B1F56FDA6E706E555F at byte 0 # This item is included in the report because it matches --limit. # Scores: V/M = 0.00 # Time range: all events occurred at 2019-11-13T07:28:59 # Attribute pct total min max avg 95% stddev median # ============ === ======= ======= ======= ======= ======= ======= ======= # Count 100 1 SQL執行時間為7s # Exec time 100 7s 7s 7s 7s 7s 0 7s SQL鎖定時間為127us,此值如極高,需要針對性分析 # Lock time 100 127us 127us 127us 127us 127us 0 127us # Rows sent 100 1 1 1 1 1 0 1 全表掃描相關 # Rows examine 100 16.00M 16.00M 16.00M 16.00M 16.00M 0 16.00M # Query size 100 33 33 33 33 33 0 33 # String: 產生SQL的主機及使用者 # Hosts localhost # Users root SQL不同時間範圍分佈,極好極好 可見如上SQL執行時間在1S左右 # Query_time distribution # 1us # 10us # 100us # 1ms # 10ms # 100ms # 1s ################################################################ # 10s+ # Tables # SHOW TABLE STATUS FROM `zxydb` LIKE 't_slow'\G # SHOW CREATE TABLE `zxydb`.`t_slow`\G # EXPLAIN /*!50100 PARTITIONS*/ select count(*) from zxydb.t_slow\G [root@three57 percona-toolkit-3.1.0]#
相關文章
redhat 6.8安裝mysql運維利器GitHub percona-toolkit
percona toolkit pt-variable-advisor驗證mysql variable是否配置合理
redhat 6.5 deploying percona toolkit 3.0.9 pt-mysql-summary
聯絡方式
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-2664531/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL基礎運維——percona-toolkit運維工具MySql運維
- MySQL運維的一款利器sys schemaMySql運維
- 介紹一個 MySQL 自動化運維利器 - InceptionMySql運維
- Percona-Toolkit工具包之pt-archiverHive
- MySQL 慢查詢分析工具~pt-query-digest 詳解MySql
- Percona-Tookit工具包之pt-query-digest
- IT運維人員的神兵利器運維
- MySQL運維之binlog_gtid_simple_recovery(GTID)MySql運維
- mysql運維案例MySql運維
- 自動化運維工具之Puppet模組運維
- IT運維之自動化運維運維
- linux運維工具psshLinux運維
- 運維監控工具運維
- Percona-Toolkit 之 pt-archiverHive
- 自動化運維利器Ansible要點彙總運維
- 自動化運維工具之Puppet常用資源(二)運維
- 自動化運維工具之Puppet常用資源(一)運維
- 自動化運維工具之Puppet基礎入門運維
- MySQL 5.7 新備份工具mysqlpump 使用說明 - 運維小結MySql運維
- 8. 傻瓜運維工具運維
- Percona-Toolkit 之 pt-kill 用法
- win 伺服器 批次管理 伺服器運維利器伺服器運維
- 【IT運維】運維告警方式有哪些?哪個工具好用?運維
- redis工具擴容收縮運維工具Redis運維
- MySQL運維5-Mycat配置MySql運維
- 智慧運維基礎-運維知識庫之ETL運維
- MySQL運維12-Mycat分庫分表之按天分片MySql運維
- Linux運維必會的100道MySql面試題之(三)Linux運維MySql面試題
- Linux運維人員必會開源運維工具體系Linux運維
- 龍蜥利器:系統運維工具 SysAK的雲上應用效能診斷 | 龍蜥技術運維
- Redis效能分析和運維工具Redis運維
- Ansible自動化運維工具運維
- Percona-Toolkit 之 pt-kill 低效SQLSQL
- 雲原生時代 RocketMQ 運維管控的利器 - RocketMQ OperatorMQ運維
- 輕量化日誌 Loki 全攻略,運維利器要收好Loki運維
- 運維安全之NFS安全運維NFS
- Linux運維之程式管理①Linux運維
- 這 4 種 Redis 常用運維工具都不會?你算啥運維人Redis運維