返回顶部
首页 > 资讯 > 数据库 >如何使用pt-stalk分析MySQL的性能波动
  • 121
分享到

如何使用pt-stalk分析MySQL的性能波动

2024-04-02 19:04:59 121人浏览 安东尼
摘要

小编给大家分享一下如何使用pt-stalk分析Mysql的性能波动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 简介

小编给大家分享一下如何使用pt-stalk分析Mysql的性能波动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

简介

mysql服务器出现短暂(5~30秒)的性能波动的时候,一般的性能监控工具都很难抓住故障现场,也就很难收集对应较细粒度的诊断信息。另外,如果这种波动出现的频率很低,例如几天才一次,我们也很难人为的抓住现场,收集数据。这正是pt-stalk所解决的问题。

参数

–function:设置触发条件,包括status、processlist、自定义脚本,详细见触发条件部分。

–dest:设置collect信息的存储目录,默认/var/lib/pt-stalk/。

另外设置–dest /u01/mysql选项到mysql目录之后,pt-stalk在清理超过期限的日志时,会暴力的将该目录下所有修改时间超过一定日期的文件全部删掉,

因此在设置dest目录时必须慎重(如果设置最好是一个独立的目录,而不是跟mysql或者其他设置在同一个目录)。–dest默认值是

查看pt-stalk的源码

            # Delete collect files which more than --retention-time days old. find "$dir" -warn -type f -mtime +$retention_time -exec rm -f '{}' \;

–iterations:该参数指定pt-stalk在收集几次故障现场后就退出。默认pt-stalk会一直运行。

–run-time:触发收集后,该参数指定收集多长时间的数据。默认是30秒,比如show processlist会连续收集30次。

–sleep:为防止一直触发收集数据,该参数指定在某次触发后,必须sleep一段时候才继续观察并触发收集。默认是300秒

–interval:默认情况pt-stalk会每隔一秒检查一次状态数据,判断是否需要触发收集。该参数指定间隔时间,默认是1秒。

–cycles:默认情况pt-stalk只有连续观察到五次状态值满足触发条件时,才触发收集。该参数控制,需要连续几次满足条件,收集被触发,默认是5次。

–verbose:设置log的输出级别,默认是2;第一次运行可以设置为3,方便观察情况。

LEVEL PRINTS

===== =====================================

0     Errors

1     Warnings

2     Matching triggers and collection info

3     Non-matching triggers

–plugin:和–function参数类似,可以指定一个包含before_collect、after_collect等函数的shell脚本。

pt-stalk的触发条件

三种触发条件,通过参数function设置:

  1. status

    –function status –variable Threads_connected –threshold 2500,表示MySQL状态值Threads_connected超过2500时触发数据收集。常用的触发条件还可以使用Threads_running等。

  2. processlist
    –function processlist –variable State –match statistics –threshold 10,表示,show processlist中State列的值为statistics的线程数超过10则触发收集。

  3. 自定义脚本
    包含 trg_plugin函数的shell脚本, trg_plugin 函数必须返回一个int值,比如下面的脚本,因为slow log的status是一个累加值,不能分析差值,因此写小脚本来获取差值,对slow突然出现的尖刺进行分析。

function trg_plugin(){        current_slow=`mysql -uroot -pxxx -P5002 -S/opt/tmp/mysql5002.sock -e"show global status like 'Slow_queries'" -B -N|awk '{print $2}'`        current_timestamp=`date '+%s'`        #when first execute,the last_timestamp is empty        if [ ! -e Slow_queries ];then            echo "$current_timestamp $current_slow">Slow_queries            echo "0"            exit 0        fi        last_timestamp=`cat Slow_queries|awk '{print $1}'`        last_slow=`cat Slow_queries|awk '{print $2}'`        echo "$current_timestamp $current_slow">Slow_queries        let diff_timestamp=$current_timestamp-$last_timestamp        let diff_slow=$current_slow-$last_slow        #echo "$diff_timestamp $diff_slow"        if [ $diff_timestamp -gt 11 ];then                echo "0"        else                echo $diff_slow        fi }

实际例子

pt-stalk --daemonize --function=slow_log_status.sh --variable=my_custemed_condition --cycles=1 --threshold=2 --interval=10 --Socket=/opt/tmp/mysql5002.sock --verbose=3

收集结果

可以看到收集的信息非常的全面,包括大量的系统状态(IO、CPU、网卡)等以及大量MySQL信息(processlist、innodb status、variables等)

以上是“如何使用pt-stalk分析MySQL的性能波动”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: 如何使用pt-stalk分析MySQL的性能波动

本文链接: https://lsjlt.com/news/62214.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用pt-stalk分析MySQL的性能波动
    小编给大家分享一下如何使用pt-stalk分析MySQL的性能波动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 简介 ...
    99+
    2024-04-02
  • 如何分析用pt-stalk定位MySQL短暂的性能问题
    本篇文章为大家展示了如何分析用pt-stalk定位MySQL短暂的性能问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。【背景】MySQL出现短暂的3-30秒的性能问题,一般的监控工具较难抓到现场,...
    99+
    2023-06-06
  • 如何使用MYSQL性能分析器EXPLAIN
    这篇文章主要讲解了如何使用MYSQL性能分析器EXPLAIN,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。使用方法:EXPLAIN SELECT * FROM user...
    99+
    2024-04-02
  • 如何使用VisualVM分析性能
    这篇文章主要讲解了“如何使用VisualVM分析性能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用VisualVM分析性能”吧! 这里需要使用一个...
    99+
    2024-04-02
  • mysql中如何使用show profiles分析sql性能
    这篇文章主要介绍了mysql中如何使用show profiles分析sql性能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Show pro...
    99+
    2024-04-02
  • 如何使用systemtap调试工具分析MySQL的性能
    这篇文章将为大家详细讲解有关如何使用systemtap调试工具分析MySQL的性能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、 分析SQL语句在执行各个阶段的消耗比...
    99+
    2024-04-02
  • MySQL如何使用profile分析语句性能消耗
    小编给大家分享一下MySQL如何使用profile分析语句性能消耗,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL使用p...
    99+
    2024-04-02
  • MySQL 如何分析查询性能
    查询优化、索引优化和表设计优化是环环相扣的。如果你有丰富的编写MySQL查询语句的经验,你就会知道如何设计表和索引来支持有效的查询。同样的,知晓表设计同样有助于了解表结构如何对查询语句产生影响。因此,即便表设计和索...
    99+
    2022-05-12
    MySQL 查询性能 MySQL 查询性能分析
  • 性能分析工具Systrace如何使用
    这篇“性能分析工具Systrace如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“性能分析工具Systrace如何使用...
    99+
    2023-07-05
  • 如何使用MySQL进行日志分析和性能调优?
    如何使用MySQL进行日志分析和性能调优?导语:MySQL是一种常见且强大的关系型数据库管理系统,被广泛应用于各种网站和应用程序中。本文将介绍如何使用MySQL的日志功能进行分析,并提供一些性能调优的方法和示例代码。一、MySQL的日志功能...
    99+
    2023-10-22
    MySQL 性能调优 日志分析
  • mysql中如何使用percona的pt-archiver工具
    这篇文章给大家分享的是有关mysql中如何使用percona的pt-archiver工具的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DBA或者运维人员经常需定期对数据进行归档和...
    99+
    2024-04-02
  • Linux 下如何使用NMON分析系统性能
    本篇文章为大家展示了Linux 下如何使用NMON分析系统性能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下载相应 CPU 类型的版本:Pv [*c+H0http://nmon.sourcef...
    99+
    2023-06-06
  • 如何使用Go语言分析性能瓶颈
    使用 go 语言分析性能瓶颈:使用 pprof 进行 cpu、内存和阻塞分析。通过交互式 web 界面或火焰图可视化分析数据。实践案例:分析 cpu 性能(使用 slowfunction...
    99+
    2024-05-08
    go 性能瓶颈 golang go语言 可视化数据
  • 如何理解MySQL SQL Profiler性能分析器
    这篇文章给大家介绍如何理解MySQL SQL Profiler性能分析器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 MySQL SQL Profile...
    99+
    2024-04-02
  • 如何使用top命令分析linux系统性能
    这篇文章给大家介绍如何使用top命令分析linux系统性能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。top命令是Linux下常用的性能分析工具,可谓是分析系统性能最方便的工具能够实时显示系统中各个进程的资源占用状况...
    99+
    2023-06-28
  • MySQL性能优化神器Explain的基本使用分析
    简介 MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化. EXPLAIN 命令用法十分简单,...
    99+
    2024-04-02
  • 如何进行Linux的性能分析
    今天就跟大家聊聊有关如何进行Linux的性能分析,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。当你登陆一台 Linux 服务器之后,因为一个问题要做性能分析时:你会在第 1 分钟内做...
    99+
    2023-06-16
  • 如何实现MySQL底层优化:查询缓存的使用和性能分析
    如何实现MySQL底层优化:查询缓存的使用和性能分析MySQL是一种常用的关系型数据库管理系统,在大数据量的场景下,优化数据库性能是非常重要的。其中,查询缓存是一个可以帮助提高MySQL性能的重要组件。本文将介绍如何使用查询缓存以及如何进行...
    99+
    2023-11-09
    MySQL 优化 查询缓存
  • 如何使用Go语言测量和分析API性能
    使用 go 语言测量和分析 api 性能的方法:使用 net/http/pprof 测量 http 性能。使用 pprof 工具分析性能剖析。禁用生产环境中的性能剖析。使用适当的采样率。...
    99+
    2024-05-08
    go语言 api性能
  • 如何使用工具分析 PHP 函数性能瓶颈?
    php 函数性能分析工具:安装 xdebug,分析函数执行时间和内存使用情况。使用 blackfire 分析函数性能,生成交互式图表和详细报告。 如何使用工具分析 PHP 函数性能瓶颈...
    99+
    2024-04-25
    php 性能瓶颈 php7
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作