简介

pt-log-player是MySQL日志回放工具,在pt2.4中被去除,由percona-playback取代。

在2.1中还是保留,如果想使用的话,需要下载2.1版本的。

使用方法

pt-log-player [OPTION...] [DSN]

例子:

日志切分

pt-log-player --split Thread_id  --type=genlog --session-files 16 --only-select --base-dir ./sessions ./mysql.log

日志回放

pt-log-player --play ./play/ --base-dir ./results -u test -p 'test3872' -h 10.75.19.132 -P 3872

要注意host、user、password以及port的顺序

结果分析

使用pt-query-digest汇总结果

pt-query-digest ./results/*

描述

pt-log-player做两件事情:

1、将MySQL查询日志分成多个session文件

2、在指定的MySQL server上回放这些session查询

只有session files才能被回放,慢查询不能直接被回放,必须被改造。

session file是来自慢查询中的一组查询,拥有一个共同的属性,经常是Thread_id。

这个是--split的切分依据。多个session会存放在单个session file中。相关的参数如下--session-files,--max-sessions,--base-file-name以及--base-dir。

pt-log-player使用--play回放session files,参数--threads控制并发量。每个线程回放指定的session file。这些sessions会被回放地足够快,因为目标是压力测试以及负载测试。所以不建议直接在线上使用pt-log-player。

每个--play线程将对应的结果写入单个文件中。输出的结果如slow log格式,故可以使用pt-query-digest汇总这些结果。

输出

--split和--play有两个输出。

--split输出:

-- START SESSION 10
use foo
SELECT col FROM foo_tbl

--play输出:

# Thread_id: 1107285559  Query_time: 0.000693  Schema: elink
SELECT * FROM my_data_22 WHERE `uid` = 1228640232 AND `blog_id`='493b8fe801009em6' AND `status`=1;

参考文献

http://hi.baidu.com/ytjwt/item/26ebff16c7c6e40f8fbde40b

http://www.percona.com/doc/percona-toolkit/2.1/pt-log-player.html

pt-log-player的更多相关文章

  1. 在WebGL场景中管理多个卡牌对象的实验

    这篇文章讨论如何在基于Babylon.js的WebGL场景中,实现多个简单卡牌类对象的显示.选择.分组.排序,同时建立一套实用的3D场景代码框架.由于作者美工能力有限,所以示例场景视觉效果可能欠佳,本 ...

  2. video.js--很赞的H5视频播放库

    video.js是一款很流行的html5视频播放插件.很适合在移动端播放视频(比如微信网页),功能强大,且支持降级到flash,兼容ie8.官网:http://videojs.com/    git& ...

  3. video.js-H5视频播放库

    video.js是一款很流行的html5视频播放插件.很适合在移动端播放视频(比如微信网页),功能强大,且支持降级到flash,兼容ie8.官网:http://videojs.com/    git& ...

  4. React的井字过三关(3)

    这是React井字棋项目的最后一篇笔记,记述AI实现. 一. 是开头都会说的原理 但凡懂一点围棋的人都知道"大场"这个概念,可以浅显地把它理解为布局时棋盘上各处的要点.棋谚&quo ...

  5. Log4j按级别输出到不同文件

    log4j.properties 文件: log4j.logger.net.sf.hibernate.cache=debug log4j.rootLogger = error,portal_log,s ...

  6. 高级javascript---原型和原型继承

    高级javascript---原型和原型继承 在 JavaScript 中,prototype 是函数的一个属性,同时也是由构造函数创建的对象的一个属性. 函数的原型为对象. 它主要在函数用作构造函数 ...

  7. js之oop <二> 对象属性

    js中对象属性可以动态添加和删除.删除对象属性用delete关键字. function obj(){ } var oo = new obj(); oo.a = "a"; oo.b ...

  8. 读javascript高级程序设计12-HTML5脚本编程

    一.跨文档消息传递(XDM) 1.发送消息 postMessage(msg,domain)用于发送跨文档消息.第一个参数是要传递的消息内容,第二个参数表示接收方来自哪个域.第二个参数有助于提高安全性, ...

  9. [转]unity3d 脚本参考-技术文档

    unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...

  10. Unity3D脚本中文系列教程(十)

    http://dong2008hong.blog.163.com/blog/static/4696882720140312627682/?suggestedreading&wumii Unit ...

随机推荐

  1. localStorage存值取值以及存取JSON,以及基于html5 localStorage的购物车

    localStorage.setItem("key","value");//存储变量名为key,值为value的变量 localStorage.key = &q ...

  2. 不错的JQuery屏幕居中提示信息封装,使用方便,可集成到项目

    function showLoad(tipInfo, type, autohide) { var pic = ""; switch (type) { case 0: // load ...

  3. DevOps之软件定义网络SDN

    唠叨话 关于德语噢屁事的知识点,仅提供专业性的精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <软件定义网络SDN(Software Defined Network)> 关于软 ...

  4. 压缩感知“Hello World”代码初步学习

    压缩感知代码初学 实现:1-D信号压缩传感的实现 算法:正交匹配追踪法OMP(Orthogonal Matching Pursuit)   >几个初学问题   1. 原始信号f是什么?我采集的是 ...

  5. Linux 可运行进程 Runnable Process Definition

    From : http://www.linfo.org/runnable_process.html 一个可运行的进程是指该进程的进程状态为TASK_RUNNING. 进程,也可被称为任务,是指一个程序 ...

  6. 用 Eclipse 搭建一个简单的 Maven spring mybatis 项目(包含测试用例)

    1: 先搭建一个Maven项目: 创建好后的目录: 2: 配置pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0.0& ...

  7. C++点滴20130724

    warning c4627:"#include stdafx.h":在查找预编译头使用时跳过 原因: 1.没有添加 #include "stdafx.h" 2. ...

  8. php代码常见错误详解整理

    错误类型: 一.未使用二进制上传   代码:    Fatal error: This encoded file is corrupted. Please refer to http://www.ze ...

  9. Spark SQL数据源

    [TOC] 背景 Spark SQL是Spark的一个模块,用于结构化数据的处理. ++++++++++++++ +++++++++++++++++++++ | SQL | | Dataset API ...

  10. zookeeper启动异常

    zookeeper启动报异常 java.io.EOFException  at java.io.DataInputStream.readInt(DataInputStream.java:392) 遇到 ...