Percona-toolkit的安裝和配置

jeanron100發表於2016-05-01
pt工具是非常實用有效的一個工具集,對於診斷常規問題還是非常有效的,相比於Oracle的工具,MySQL中沒有那麼多複雜的資料字典,在實現方式上相對更加輕巧,主要都是針對日誌的挖掘。在龐大複雜的日誌中能夠找出一些非常有效的資訊,確實難能可貴。
在官網上檢視Percona的系列產品,可以看到Percona Toolkit的一個Logo好像是條鹿犬。

如果檢視使用者手冊,可以看到裡面有非常多的命令,如果沒有分門別類還是沒有任何的方向。
在此找到同事之前的分享,工具的分類如下,分別從效能,配置,監控,開發,複製,系統,實用幾個角度。
效能
pt-index-usage
pt-pmp
pt-visual-explain

配置
pt-config-diff
pt-variable-advisor
pt-mysql-summary

監控
pt-deadlock-logger
pt-mext
pt-query-digest
pt-trend
pt-fk-error-logger

開發
pt-duplicate-key-checker
pt-online-schema-change
pt-query-advisor
pt-show-grants
pt-upgrade


複製
pt-heartbeat
pt-slave-delay
pt-slave-find
pt-table-checksum
pt-table-sync

系統
pt-diskstats
pt-fifo-split
pt-summary
pt-stalk

實用
pt-archiver
pt-find
pt-kill

當然安裝配置是第一步,這個步驟也非常簡單,
使用 wget percona.com/get/percona-toolkit.tar.gz來下載,或從官網下載rpm包等都可以。
下載到安裝包以後,還需要預備一下perl的部分外掛。
可以使用yum來安裝。
yum install perl-DBI -y
yum install perl-DBD-MySQL -y
yum install perl-Time-HiRes -y
yum install perl-IO-Socket-SSL -y
安裝pt的步驟就是常規的幾步。
   perl Makefile.PL
   make
   make test
   make install
在此簡單介紹幾個命令的使用:
pt-index-usage
可以使用如下的方式來解析慢日誌,對於沒有使用到的索引會給出相應的建議,當然這個部分需要好好斟酌,給出的建議還是取決了日誌的情況,日誌內容量越豐富,建議越有說服力。>pt-index-usage  /home/mysql/slow.log
/home/mysql/slow.log:  64% 00:50 remain
/home/mysql/slow.log:  99% 00:00 remain
ALTER TABLE `_gcsrecharge`.`ORDERS` DROP KEY `idx_orders_gcsId`, DROP KEY `idx_orders_transactionId`; -- type:non-unique
ALTER TABLE `usercenter`.`PAY_ORDER_XSOLLA` DROP KEY `ORDER_ID`; -- type:non-unique

pt-config-diff
這個命令可以比較配置檔案的差別,比如比較下面的兩個檔案,所有的差別一目瞭然。
>pt-config-diff /etc/my.cnf /etc/my.cnfold
5 config differences
Variable                  /etc/my.cnf           /etc/my.cnfold
========================= ===================== ========================
innodb_data_file_path     ibdata1:1G:autoextend ibdata1:1024M:autoextend
innodb_io_capacity        2000                  1000
innodb_max_dirty_pages... 50                    20
innodb_read_io_threads    8                     4
innodb_write_io_threads   8                     4

pt-mysql-summary
這個命令會對mysql的配置和狀態資訊進行彙總,會分為幾個部分來解讀。
#pt-mysql-summary
# Percona Toolkit MySQL Summary Report #######################
              System time | 2016-05-01 13:49:14 UTC (local TZ: EDT -0400)
# Instances ##################################################
  Port  Data Directory             Nice OOM Socket
  ===== ========================== ==== === ======
   3306 /home/mysql                0    0   /home/mysql/mysql.sock
# MySQL Executable ###########################################
       Path to executable | /usr/local/mysql/bin/mysqld
              Has symbols | Yes
# Report On Port 3306 ########################################
                     User | root@localhost
                     Time | 2016-05-01 09:49:14 (EST)
                 Hostname | recharge_db
                  Version | 5.6.23-72.1-log Percona Server (GPL), Release 72.1, Revision 0503478
                 Built On | Linux x86_64
                  Started | 2015-12-16 05:40 (up 137+04:08:49)
                Databases | 8
                  Datadir | /home/mysql/
                Processes | 50 connected, 3 running
              Replication | Is not a slave, has 1 slaves connected
                  Pidfile | /home/mysql/mysql.pid (exists)
更多的命令也在不斷補充中。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-2091818/,如需轉載,請註明出處,否則將追究法律責任。

相關文章