製品&サポートサービス

pt-heartbeat

コマンド

pt-heartbeat [ オプション ] [ DSN ] [ --update | --monitor | --check | --stop ]

【主なオプション】

  • ・ [ --update | --monitor | --check | --stop ] の中から少なくとも一つを指定します
      --update : マスタサーバに接続した時間(タイムスタンプ)を更新します
      --monitor : 指定した間隔でレプリケーションの遅延状況を出力します
      --check : レプリケーションの遅延状況を一度だけ出力します
      --stop : pt-heartbeat-sentinel ファイルを生成します。このファイルが存在するとupdateとmonitorが機能しなくなります
  • ・ --master-sever-id : マスタサーバのサーバIDを指定します
  • ・ --create-table : 遅延状況を記録するheartbeatテーブルを作成します(初めてコマンドを使用する時のみ指定)
  • ・ [ オプション ] : -p パスワード -D データベース名

【主なオプション】

  • ・ --interval : 遅延状況を出力する間隔を指定します(デフォルトでは1秒です)

目的

MySQLサーバのレプリケーションの遅延を測定します

設定ファイル

上記の必須項目を、設定ファイルにまとめておきます
ただし、DSNはコマンドライン上で直接指定する必要があるため、ここでは書きません

# touch /etc/percona-toolkit/pt-heartbeat.conf (設定ファイルの作成)
# vi /etc/percona-toolkit/pt-heartbeat.conf (設定ファイルの編集)
# config for pt-heartbeat.conf
D=repl_test (測定するデータベース名)
password=パスワード (マスタ のパスワードを記載)

シナリオ

マスタサーバで以下のSQL文を実行し、レプリケーション用のデータベースを作成します

mysql> CREATE DATABASE repl_test

マスタサーバで通常時の遅延状況を30秒間隔で測定します

# pt-heartbeat --master-server-id 1 --interval 30 --monitor

pt-heartbeat01

もう一度同じコマンドを実行し、その後50万件のレコードを読み込むことで遅延を発生させます

# pt-heartbeat --master-server-id 1 --interval 30 --monitor

mysql> LOAD DATA INFILE "14_2_articles.txt" INTO TABLE articles;

結果

先に測定した時よりもレプリケーションが遅延していることが確認できます

pt-heartbeat02

※一番左の数値は、MySQLが起動してからの時間、[ ] に囲まれた数字は、それぞれ1分、5分、15分間の平均遅延時間を表します

良い点

レプリケーションの遅延状況を確認する事ができます

その他

--stopオプションを使用した場合は以下のように--updateと--monitorが機能しなくなります

pt-heartbeat03

※/tmp/pt-heartbeat-sentinelファイルを削除すれば、通常の状態に戻ります

MySQLや関連ソリューションに関するお問い合わせ、お見積などがございましたら、ご連絡ください。

お問い合わせ各MySQL保守サービス見積依頼スマートスタイルOSSストア

ページトップへ