1. 程式人生 > >pt-heartbeat用法

pt-heartbeat用法

/*************************************************** pt-heartbeat *********************************/

pt-heartbeat -D test --update -h master-server --daemonize


e.g:
生成操作:
update on master ,monintor a replicat

rm /tmp/pt-heartbeat-sentinel 要操作,否則,不能在後臺長時間執行
pt-heartbeat -upercona -pPercona.0101  --host=192.168.136.135  --port=13306  --create-table -D percona --interval=2 --update --replace --daemonize

# PTDEBUG=1 pt-heartbeat -upercona -pPercona.0101  --host=192.168.136.135  --port=13306   -D percona --interval=1 --update  --daemonize --socket=/home/db/mysql/mysql.sock#

[
[email protected]
[[email protected] bin]# pt-heartbeat -upercona --ask-pass --host=192.168.136.135 --port=13306 --create-table -D percona --interval=1 --update --replace --daemonize Enter password: [[email protected] bin]# ps -ef | grep pt root 2345 1 0 14:27 ? 00:00:00 perl /usr/bin/pt-heartbeat -upercona --ask-pass --host=192.168.136.135 --port=13306 --create-table -D percona --interval=1 --update --replace --daemonize [
[email protected]
14:23:54]>show tables ; +-------------------+ | Tables_in_percona | +-------------------+ | checksums | | heartbeat | +-------------------+ 2 rows in set (0.00 sec) [[email protected] 14:24:07]>select * from heartbeat ; Empty set (0.00 sec)

顯示操作:
登入到192.168.136.135,用master-server-id=10的record 與 192.168.136.135上的current sysdate時間做對比


 

pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135  --port=13306   -D percona --table=heartbeat --monitor  --master-server-id=10

登入到192.168.136.136,用master-server-id=10的record 與 192.168.136.136上的current sysdate時間做對比

pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.136  --port=13306   -D percona --table=heartbeat --monitor  --master-server-id=10


[[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135  --port=13306   -D percona --table=heartbeat --monitor  --master-server-id=10

pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135  --port=13306   -D percona --table=heartbeat   --master-server-id=10 --check

停止操作:
 

pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135  --port=13306   -D percona --table=heartbeat   --master-server-id=10 --stop
rm /tmp/pt-heartbeat-sentinel


測試:
在主192.168.136.135上開啟pt-heartbeat的daemonize:
 

pt-heartbeat -upercona -pPercona.0101  --host=192.168.136.135  --port=13306  --create-table -D percona --interval=2 --update --replace --daemonize


關閉主:192.168.136.135  和 從:192.168.136.136之間的複製

192.168.136.135 為主 上執行如下:

[[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135  --port=13306   -D percona --table=heartbeat --monitor  --master-server-id=10
1.00s [  0.02s,  0.00s,  0.00s ]
0.00s [  0.02s,  0.00s,  0.00s ]
1.00s [  0.03s,  0.01s,  0.00s ]
0.00s [  0.03s,  0.01s,  0.00s ]
1.00s [  0.05s,  0.01s,  0.00s ]
0.00s [  0.05s,  0.01s,  0.00s ]
1.00s [  0.07s,  0.01s,  0.00s ]
0.00s [  0.07s,  0.01s,  0.00s ]
1.00s [  0.08s,  0.02s,  0.01s ]
0.00s [  0.08s,  0.02s,  0.01s ]


雖然關閉主從複製,但主的percona.heartbeat一直接在更新,從的沒有。

192.168.136.136 為主 上執行如下:

[[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.136  --port=13306   -D percona --table=heartbeat --monitor  --master-server-id=10
629.00s [ 10.48s,  2.10s,  0.70s ]
630.00s [ 20.98s,  4.20s,  1.40s ]
631.00s [ 31.50s,  6.30s,  2.10s ]
632.01s [ 42.03s,  8.41s,  2.80s ]
633.00s [ 52.58s, 10.52s,  3.51s ]
634.01s [ 63.15s, 12.63s,  4.21s ]


可以看到差值遞增,因為從庫上的percona.heartbeat沒更新

因此可以理解:
1. [[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.135  --port=13306   -D percona --table=heartbeat --monitor  --master-server-id=10
登入到-upercona -pPercona.0101 --host=192.168.136.135  --port=13306 讀取 --table=heartbeat 記錄 ,與當前的sysdate做對比
2. [[email protected] ~]# pt-heartbeat -upercona -pPercona.0101 --host=192.168.136.136  --port=13306   -D percona --table=heartbeat --monitor  --master-server-id=10
登入到-upercona -pPercona.0101 --host=192.168.136.136  --port=13306 讀取 --table=heartbeat 記錄 ,與當前的sysdate做對比