当前位置: 首页 > news >正文

MySQL的数据库性能分析利器Percona toolkit

目录

    • 简介
      • 使用场景
    • 使用示例
      • Mysql 慢查询分析诊断
        • 临时开启慢SQL
        • 持久化开启慢SQL日志
      • 使用包管理器安装
        • 包管理器安装 percona-release
        • 使用相应的包管理器安装 Percona Toolkit
      • pt-query-digest 安装
      • 安装
    • pt-query-digest案例实战之慢查询分析诊断
      • 查看慢SQL日志
      • 使用pt-query-digest本地查看

简介

  • Percona Toolkit是Percona公司出品的,是一个功能强大、稳定、易用的MySQL工具集
  • 用于管理MySQL数据库,可以提供很多实用工具,简化MySQL的管理,提高MySQL的性能,并能够解决很多常见的MySQL问题
  • Percona Toolkit的开源特性和丰富的社区资源,为用户提供了很多灵活的解决方案,非常适合用于高性能、高可用的MySQL环境
  • 官网:https://docs.percona.com/percona-toolkit/index.html

使用场景

  • 慢查询分析
    • Percona Toolkit中的pt-query-digest工具可以分析MySQL的慢查询日志,找出慢查询语句,通过分析排除MySQL性能瓶颈和优化查询
  • 复制监控
    • Percona Toolkit的pt-table-checksum和pt-table-sync工具可用于验证MySQL主从复制是否一致,检测数据同步的延迟或故障,并保持主从数据的一致性。
  • 表和索引优化
    • Percona Toolkit的pt-online-schema-change工具通过在线方式修改MySQL表结构,避免了长时间锁表带来的影响,从而避免对业务造成影响。
  • 数据备份
    • Percona Toolkit的xtrabackup工具可以实现MySQL的在线备份,无需停止数据库,保障业务连续性。
  • 状态监控
    • Percona Toolkit的pt-mysql-summary和pt-summary等工具用于定期生成汇总MySQL服务器统计信息的报告,包括MySQL运行时间、活跃线程状态、连接统计信息等,方便管理员快速掌握数据库的情况。

使用示例

Mysql 慢查询分析诊断

临时开启慢SQL
  • 查询状态
show variables like 'slow%'

在这里插入图片描述

  • slow_query_log属性是OFF,处于关闭状态,也可以通过 0和1进行配置,1表示开启,0表示关闭
    • 开启慢查询日志
set global slow_query_log = on
  • slow_query_log_file表示慢查询日志文件的存放路径
set global slow_query_log_file = '自定义路径'
  • 如何定义慢sql语句 show variables like ‘%long%’
  • long_query_time属性,值为10.000000,表示的只记录查询时间在10s以上的语句
  • 数据不多的情况,慢查询的临界值设置为0.02:set long_query_time=0.02
持久化开启慢SQL日志
  • 配置持久化 vim /etc/mysql/my.cnf
[mysqld]
slow_query_log = 1
long_query_time = 0.1
slow_query_log_file =/usr/local/mysql/mysql_slow.log
  • 重启mysql生效
  • 利用上面的命令进行验证 参数是否生效
  • 模拟慢查询,睡眠10秒, select sleep(10);
  • 进入容器查看日志 cat /usr/local/mysql/mysql_slow.log

使用包管理器安装

包管理器安装 percona-release
-  Red Hat Enterprise Linux 或兼容衍生产品
sudo yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
  • Debian 或 Ubuntu Linux
sudo apt update
sudo apt install curl
curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb
sudo apt install gnupg2 lsb-release ./percona-release_latest.generic_all.deb
sudo apt update
使用相应的包管理器安装 Percona Toolkit
  • 对于 Debian 或 Ubuntu
sudo apt-get install percona-toolkit
  • 对于 RHEL 或 CentOS
sudo yum install percona-toolkit
  • 查看安装的版本
 pt-query-digest --version

pt-query-digest 安装

  • 前置依赖包安装
yum install -y perl-DBI
yum install -y perl-DBD-MySQL 
yum install -y perl-Time-HiRes
yum install -y perl-IO-Socket-SSL
yum install -y perl-TermReadKey
  • 下载安装包
wget https://downloads.percona.com/downloads/percona-toolkit/3.1.0/binary/redhat/7/x86_64/percona-toolkit-3.1.0-2.el7.x86_64.rpm
  • 下载超时使用其它链接
https://file.laoweiio.cn/develop/perconaToolkit/percona-toolkit-3.1.0-2.el7.x86_64.rpm
https://file.laoweiio.cn/develop/perconaToolkit/percona-toolkit-3.5.7-1.el7.x86_64.rpm

安装

yum install -y percona-toolkit-3.1.0-2.el7.x86_64.rpm
  • 验证成功安装命令 pt-query-digest --help
  • pt工具各个命令的基本功能介绍,使用 command --help 来查看每个命令的具体作用和使用方法

pt-query-digest案例实战之慢查询分析诊断

查看慢SQL日志

在这里插入图片描述

使用pt-query-digest本地查看

pt-query-digest /local/path//mysql_slow.log > slow_report.log
  • 结果解读
    • 第一部分:总体统计结果
    • 第二部分:查询分组统计结果
    • 第三部分:每一种查询的详细统计结果

相关文章:

  • 利用Ruby的Typhoeus编写爬虫程序
  • 快速上手Linux联网管理
  • 【Ansible自动化运维】四、ansible应用部署:加速开发到生产的流程
  • 接口和抽象类的区别
  • maven 依赖的优先级
  • 一个批量文件Dos2Unix程序(Microsoft Store,开源)
  • 【 Beautiful Soup (bs4) 详解】
  • 五、用例篇
  • 【二轮征稿】2025年IEEE第三届模式识别、机器视觉与人工智能国际会议(IEEE PRMVAI 2025)
  • 订阅不到topic排查方式
  • 上下文管理器需要实现哪两种方法以及相关应用
  • 进行性核上性麻痹患者,饮食 “稳” 健康
  • 消融实验_草稿
  • 使用setTimeout模拟setInterval
  • 山东省第二人民医院:基于DeepSeek的医疗AI智慧安全运营应用
  • 河北工程大学e2e平台,python
  • 使用Python写入JSON、XML和YAML数据到Excel文件
  • 高速电路设计概述
  • 代码大模型的发展:通义灵码与KwaiCoder的技术探讨
  • 分布式锁在秒杀场景中的Python实现与CAP权衡
  • 江苏省建筑网站/哈尔滨seo服务
  • 郑州做网站优化公/北京seoqq群
  • 网站制作公司怎么收费/360关键词指数查询
  • 如何删除网站黑链/社群推广平台
  • 旅行社b2b网站建设方案/全国人大常委会副委员长
  • 青岛企业网站模板建站/网络营销推广系统