鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

工具运行

  1. 建库和表。

    登录主库执行,创建用于保存检查信息的库pt和表heartbeat(备库可以自动复制)。

    1
    /usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/run/mysql.sock
    
    1
    2
    3
    4
    5
    6
    create database pt;
    show databases;
    use pt;
    show tables;
    create table heartbeat(ts varchar(26) not NULL, server_id int unsigned NOT NULL PRIMARY KEY, file varchar(255) DEFAULT NULL, position bigint unsigned DEFAULT NULL, relay_master_log_file varchar(255) DEFAULT NULL, exec_master_log_pos bigint unsigned DEFAULT NULL);
    show tables;
    
  2. 启动主库的守护进程。

    客户端执行如下命令(--user和--password,指的是MySQL的用户和密码,--host指的是主库的IP地址,具体根据实际进行配置),启动主库的守护进程来更新pt.heartbeat表,更新时间间隔为1秒钟。

    1
    pt-heartbeat --user=root --password=123456 --ask-pass --host=192.168.220.58 --create-table -D pt --interval=1 --update --replace --daemonize
    
    1. 客户端执行如下命令,停止主库的守护进程。
      1
      pt-heartbeat --stop
      

      停止时会生成/tmp/pt-heartbeat-sentinel文件,下次启动主库的守护进程前需先手动删除该文件。

      1
      rm -rf /tmp/pt-heartbeat-sentinel
      
    2. pt-heartbeat使用方法以及参数说明。
      1
      pt-heartbeat --help
      

      使用格式如下:

      pt-heartbeat [OPTIONS] [DSN] --update|--monitor|--check|--stop

  3. 监测从库的延迟。

    客户端执行如下命令(--user和--password,指的是MySQL的用户和密码,--host指的是从库的IP地址,master-server-id是主库的server-id,根据实际进行配置),监测从库的延迟。

    • 方式1(推荐):持续监测不退出,通过Ctrl+C退出。
      1
      pt-heartbeat -D pt --table=heartbeat --monitor --host=192.168.220.72 --user=root --password=123456 --master-server-id=1
      

      上面截图中4列数据分别代表了实时延迟、1分钟延迟、5分钟延迟和15分钟延迟。

    • 方式2:监测一次后退出。
      1
      pt-heartbeat -D pt --table=heartbeat --check --host=192.168.220.72 --user=root --password=123456 --master-server-id=1
      

  4. 向主库导入数据,然后监测从库的延迟。
    1. 在客户端上向主库批量导入数据,例如通过BenchmarkSQL工具向主库批量导入tpcc数据。请参见《BenchMarkSQL 测试指导》。
    2. 在客户端上执行如下命令(--user和--password,指的是MySQL的用户和密码,--host指的是从库的IP地址,master-server-id是主库的server-id,根据实际进行配置),监测从库的延迟。
      1
      pt-heartbeat -D pt --table=heartbeat --monitor --host=192.168.220.72 --user=root --password=123456 --master-server-id=1