用percona-toolkit為MySQL搜集體系和機能信息的教程。本站提示廣大學習愛好者:(用percona-toolkit為MySQL搜集體系和機能信息的教程)文章只能為提供參考,不一定能成為您想要的結果。以下是用percona-toolkit為MySQL搜集體系和機能信息的教程正文
體系類對象
1. pt-diskstats
功效引見:
是一個對GUN/LINUX的交互式監控對象
用法引見:
pt-diskstats [OPTION...] [FILES]
為GUN/LINUX打印磁盤io統計信息,和iostat有點像,然則這個對象是交互式而且比iostat更具體。可以剖析從長途機械搜集的數據。
應用示例:
典范1:檢查本機一切的磁盤的狀況情形:
pt-diskstats
典范2:只檢查本機sda2磁盤的狀況情形
pt-diskstats --devices-regex sda2
2. pt-fifo-split
功效引見:
模仿切割文件並經由過程管道傳遞給先入先出隊列而不消真實的切割文件
用法引見:
pt-fifo-split [options] [FILE ...]
pt-fifo-split讀取年夜文件中的數據並打印到fifo文件,每次到達指定行數就往fifo文件中打印一個EOF字符,讀取完成今後,封閉失落fifo文件並移走,然後重建fifo文件,打印更多的行。如許可以包管你每次讀取的時刻都能讀取到制訂的行數直到讀取完成。留意此對象只能任務在類unix操作體系。這個法式對年夜文件的數據導入數據庫異常有效,詳細的可以檢查http://www.mysqlperformanceblog.com/2008/07/03/how-to-load-large-files-safely-into-innodb-with-load-data-infile/。
應用示例:
典范1:一個每次讀取一百萬行記載的典范:
pt-fifo-split --lines 1000000 hugefile.txt while [ -e /tmp/pt-fifo-split ]; do cat /tmp/pt-fifo-split; done
典范2:一個每次讀取一百萬行,指定fifo文件為/tmp/my-fifo,並應用load data敕令導入到mysql中:
pt-fifo-split infile.txt --fifo /tmp/my-fifo --lines 1000000 while [ -e /tmp/my-fifo ]; do mysql -e "set foreign_key_checks=0; set sql_log_bin=0; set unique_checks=0; load data local infile '/tmp/my-fifo' into table load_test fields terminated by '\t' lines terminated by '\n' (col1, col2);" sleep 1; done
3. pt-summary
功效引見:
友愛地搜集和顯示體系信息概略,此對象其實不是一個調優或許診斷對象,這個對象會發生一個很輕易停止比擬和發送郵件的申報。
用法引見:
pt-summary
道理:此對象會運轉和多敕令去搜集體系狀況和設置裝備擺設信息,先保留莅臨時目次的文件中去,然後運轉一些unix敕令對這些成果做格局化,最好是用root用戶或許有權限的用戶運轉此敕令。
應用示例:
典范1:檢查當地體系信息概略
pt-summary
4. pt-stalk
功效引見:
湧現成績的時刻搜集mysql的用於診斷的數據
用法引見:
pt-stalk [OPTIONS] [-- MYSQL OPTIONS]
pt-stalk期待觸發前提觸發,然後搜集數據贊助毛病診斷,它被設計成應用root權限運轉的守護過程,是以你可以診斷那些你不克不及直接不雅察的間歇性成績。默許的診斷觸發前提為SHOW GLOBAL STATUS。也能夠指定processlist為診斷觸發前提 ,應用--function參數指定。
應用示例:
典范1:指定診斷觸發前提為status,同時運轉語句跨越20的時刻觸發,搜集的數據寄存在/tmp/test目次下:
pt-stalk --function status --variable Threads_running --threshold 20 --dest /tmp/test -- -uroot -pzhang@123 -h192.168.3.135
典范2:指定診斷觸發前提為processlist,跨越20個狀況為statistics觸發,搜集的數據寄存在/tmp/test目次下:
pt-stalk --function processlist --variable State --match statistics --threshold 20 --dest /tmp/test -- -uroot -pzhang@123 -h192.168.3.135
貼一下到達觸發前提今後搜集的信息:
2012_06_04_17_31_49-df 2012_06_04_17_31_49-disk-space 2012_06_04_17_31_49-diskstats 2012_06_04_17_31_49-hostname 2012_06_04_17_31_49-innodbstatus1 2012_06_04_17_31_49-innodbstatus2 2012_06_04_17_31_49-interrupts 2012_06_04_17_31_49-log_error 2012_06_04_17_31_49-lsof 2012_06_04_17_31_49-meminfo 2012_06_04_17_31_49-mutex-status1 2012_06_04_17_31_49-mysqladmin 2012_06_04_17_31_49-netstat 2012_06_04_17_31_49-netstat_s 2012_06_04_17_31_49-opentables1 2012_06_04_17_31_49-opentables2 2012_06_04_17_31_49-output 2012_06_04_17_31_49-pmap 2012_06_04_17_31_49-processlist 2012_06_04_17_31_49-procstat 2012_06_04_17_31_49-procvmstat 2012_06_04_17_31_49-ps 2012_06_04_17_31_49-slabinfo 2012_06_04_17_31_49-sysctl 2012_06_04_17_31_49-top 2012_06_04_17_31_49-trigger 2012_06_04_17_31_49-variables 2012_06_04_17_31_49-vmstat 2012_06_04_17_31_49-vmstat-overall
機能類對象
1. pt-index-usage
功效引見:
從log文件中讀取插敘語句,並用explain剖析他們是若何應用索引。完成份析以後會生成一份關於索引沒有被查詢應用過的申報。
用法引見:
pt-index-usage [OPTION...] [FILE...]
可以直接從慢查詢中獲得sql,FILE文件中的sql格局必需和慢查詢中個是分歧,假如不是一向須要用pt-query-digest轉換一下。也能夠不生成申報直接保留到數據庫中,詳細的見前面的示例
應用示例:
從滿查詢中的sql檢查索引應用情形典范:
pt-index-usage /data/dbdata/localhost-slow.log --host=localhost --user=root --password=zhang@123
將剖析成果保留到數據庫典范:
pt-index-usage /data/dbdata/localhost-slow.log --host=localhost --user=root --password=zhang@123 --no-report --create-save-results-database
應用--create-save-results-database會主動生成數據庫和表來保留成果。
2. pt-pmp
功效引見:
為查詢法式履行聚合的GDB客棧跟蹤,先輩性客棧跟蹤,然後將跟蹤信息匯總。
用法引見:
pt-pmp [OPTIONS] [FILES]
應用示例:
pt-pmp -p 21933 pt-pmp -b /usr/local/mysql/bin/mysqld_safe
3. pt-visual-explain
功效引見:
格局化explain出來的履行籌劃依照tree方法輸入,便利浏覽。
用法引見:
pt-visual-explain [OPTION...] [FILE...]
option請參閱官方網站,這裡紛歧一例舉!
應用示例:
檢查包括explain成果的aaa文件的典范:
pt-visual-explain aaa
檢查包括查詢語句的aaa文件的典范:
pt-visual-explain --connect aaa --user=root --password=zhang@123
經由過程管道直接檢查explain輸入成果的典范:
mysql -uroot -pzhang@123 -e "explain select email from test.collect_data where id=101992419" |pt-visual-explain