percona-toolkit学习笔记(七)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

pt-fifo-split

功能:

    模拟切割文件并通过管道传递给先入先出队列而不用真正的切割文件

 

说明:

    pt-fifo-split读取大文件中的数据并打印到fifo文件,每次达到指定行数就往fifo文件中打印一个EOF字符,读取完成以后,关闭掉fifo文件并移走,然后重建fifo文件,打印更多的行。这样可以保证你每次读取的时候都能读取到制定的行数直到读取完成。注意此工具只能工作在类unix操作系统。这个程序对大文件的数据导入数据库非常有用,具体参考:https://www.percona.com/blog/2008/07/03/how-to-load-large-files-safely-into-innodb-with-load-data-infile/

 

实例:

    一次读取100行记录

    pt-fifo-split--lines 100 /root/all.sql

    while[ -e /tmp/pt-fifo-split ]; do cat /tmp/pt-fifo-split; done

 

pt-find

功能:Find MySQL tables and executeactions, like GNU find

 

说明:

    pt-findsearches for MySQL tables and executes actions, like GNU find.  The default action is to print the databaseand table name.

 

实例:

pt-find --ctime -1 --engine MyISAM-uroot -proot -h localhost  # 列出创建时间小于1天且使用MyISAM引擎的数据表

pt-find --engine InnoDB -uroot-proot -h localhost              # 列出InnoDB引擎的表

pt-find --ctime -1 -uroot -proot-h localhost --exec-plus "drop table %s"  # 将找到的符合条件的table删除掉

pt-find --tablesize +500M -uroot-proot -h localhost               # 列出总大小超过500M的表

pt-find hellodb -uroot -proot -hlocalhost       # 列出hellodb库里的所有表

pt-find --printf"%T\t%D.%N\n"  -uroot -proot -hlocalhost | sort -rn # 列出所有表的total data and index size,并从大到小排序


pt-fingerprint

功能:Convert queries into fingerprints.

       用于生成查询指纹。主要将将sql查询生成queryIDpt-query-digest中的ID即是通过此工具来完成的。
       类似于Oracle中的SQL_ID,涉及绑定变量,字面量等

 

说明:

    pt-findsearches for MySQL tables and executes actions, like GNU find.  The default action is to print the databaseand table name.

 

实例:

    #pt-fingerprint --query "select a,b,c from hellodb.students wherestuid=22"

 

pt-ioprofile

功能:pt-ioprofile的原理是对某个pid附加一个strace进程进行IO分析

    pt-ioprofileuses "strace" and "lsof" to watch a process’s IO and printout a table of files and I/O activity. By default, it watches the mysqld process for 30 seconds.

 

pt-kill

功能:Kill掉符合指定条件mysql语句

 

官方示例:

Kill queries runninglonger than 60s:

# pt-kill --busy-time 60 --kill

 

Print, do not kill,queries running longer than 60s:

# pt-kill --busy-time 60 --print

 

Check for sleepingprocesses and kill them all every 10s:

# pt-kill --match-command Sleep--kill --victims all --interval 10

 

Print all loginprocesses:

# pt-kill --match-state login--print --victims all

 

See which queries inthe processlist right now would match:

# mysql -e "SHOWPROCESSLIST" > proclist.txt

# pt-kill --test-matchingproclist.txt --busy-time 60 --print

 

pt-stalk

功能:用于收集mysql数据库故障时的相关信息便于后续诊断处理。Collect forensic data about MySQLwhen problems occur

 

pt-stalk等待触发条件触发,然后收集数据帮助错误诊断,它被设计成使用root权限运行的守护进程,因此你可以诊断那些你不能直接观察的间歇性问题。默认的诊断触发条件为SHOW GLOBAL STATUS。也可以指定processlist为诊断触发条件,使用--function参数指定。

 

 

范例1:指定诊断触发条件为status,同时运行语句超过20的时候触发,收集的数据存放在/tmp/test目录下:

# pt-stalk  --function status \

--variable Threads_running--threshold 20 \

--dest /tmp/test -- -uroot -proot -h192.168.2.11

 

范例2:指定诊断触发条件为processlist,超过20个状态为statistics触发,收集的数据存放在/tmp/test目录下:

# pt-stalk  --function processlist \

--variable State --matchstatistics --threshold 20 \

--dest /tmp/test -- -uroot -proot -h192.168.2.11

 










本文转自 lirulei90 51CTO博客,原文链接:http://blog.51cto.com/lee90/1772205,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
存储 自然语言处理 固态存储
ublk:来自Linux社区的新热点,基于io_uring的全新高性能用户态块设备
如果您想快速了解ublk的意义、作用及性能,请直接看第二节Q&A部分。一、简介用户态块设备,就是提供/dev/ublkbX这样的标准块设备给业务,业务读写这个块的实际IO处理由您编写的用户态的代码决定。这就好比您使用FUSE,所有对挂载于FUSE的目录的读写都是您编写的IO handler来处理一样。使用用户态块设备,您可以方便地向上层业务以块设备/dev/ublkbX的形式提供您的自定义
|
存储 运维 监控
阿里云对象存储 OSS 发布全球第一可用性 SLA 背后的技术体系
2020年6月,阿里云对象存储 OSS 通过十年积累的技术红利,将可用性 SLA(Service Level Agreement) 提升 10 倍,做到了全球第一的核心竞争力,是其他的云厂家的 10~20 倍,如下图所示。
2237 0
阿里云对象存储 OSS 发布全球第一可用性 SLA 背后的技术体系
|
SQL 关系型数据库 MySQL
如何确认SQL用了索引:详细技巧与方法
在数据库管理中,索引是提高SQL查询性能的重要手段
2278 5
|
6月前
|
缓存 JSON 关系型数据库
MySQL 查询优化分析 - 常用分析方法
本文介绍了MySQL查询优化分析的常用方法EXPLAIN、Optimizer Trace、Profiling和常用监控指标。
|
人工智能 算法 测试技术
PAI 大语言模型评测平台现已支持裁判员模型评测
本文将为您介绍如何在 PAI 大语言模型评测平台,基于裁判员模型,评价开源模型或者微调后模型的性能。该功能限时免费,欢迎使用。
|
分布式计算 安全 Hadoop
聊聊 hadoop 与 sasl 安全框架
聊聊 hadoop 与 sasl 安全框架
|
SQL 关系型数据库 MySQL
Mysql 中 not in 的查询优化
Mysql 中 not in 的查询优化
493 4
|
存储 关系型数据库 MySQL
MySQL数据库——InnoDB引擎-逻辑存储结构(表空间、段、区、页、行)
MySQL数据库——InnoDB引擎-逻辑存储结构(表空间、段、区、页、行)
470 7
|
Java Linux Shell
linux下${}、$()、$[]、$(())、[]、[[]]、(())的作用及用法说明
linux下${}、$()、$[]、$(())、[]、[[]]、(())的作用及用法说明
558 1
|
存储
【计算机组成原理】定点数和浮点数
一、概念 1. 定点数 1. 定点小数 2. 定点整数 3. 定点数表示的范围 2. 浮点数 1. 浮点数的表示形式 2. 浮点数的表示范围 3. 浮点数的规格化 二、重点 1. 将十进制数转换为浮点数 2. 将浮点数转换为十进制数
1416 0
【计算机组成原理】定点数和浮点数