使用perconna慢查询日志分析工具
MySQL数据库性能分析和调优工具推荐
MySQL数据库性能分析和调优工具推荐1. 引言MySQL是一种广泛使用的开源关系型数据库管理系统,能够应对各种规模的数据处理需求。
然而,随着数据量和并发访问量的增加,MySQL数据库的性能问题也逐渐浮现出来。
为了优化数据库的性能,我们需要使用一些专业的性能分析和调优工具。
本文将介绍一些被广泛使用的MySQL数据库性能分析和调优工具。
2. 性能分析工具2.1 Percona ToolkitPercona Toolkit是由Percona公司开发的一套针对MySQL数据库的命令行工具集合,其中包括一些用于性能分析的工具。
例如,pt-query-digest能够分析慢查询日志,并生成关于查询性能的详细报告。
pt-stalk可以实时跟踪数据库的性能指标,并在性能出现下降时发送警报。
Percona Toolkit提供了丰富的选项和功能,帮助我们深入分析MySQL数据库的性能问题。
2.2 MySQL Performance SchemaMySQL Performance Schema是MySQL 5.5以上版本内置的性能监控工具。
它通过采集数据库内部的性能数据,提供了丰富的性能指标和事件信息,如查询耗时、锁等待、表扫描等。
通过分析Performance Schema的数据,我们可以识别出潜在的性能瓶颈,并进行相应的优化。
Performance Schema提供了一组查询接口,用于从中检索和分析性能数据。
3. 性能调优工具3.1 MySQLTunerMySQLTuner是一款用于MySQL性能调优的Perl脚本工具。
它通过检测服务器的配置和当前负载情况,提供了一些建议和优化建议。
MySQLTuner会对数据库的各个参数进行评估,并推荐可能的修改方案。
它还提供一些有用的性能指标,如查询缓存命中率、线程缓存命中率等。
使用MySQLTuner可以帮助我们快速定位并解决一些常见的性能问题。
3.2 pt-visual-explainpt-visual-explain是Percona Toolkit中的一个工具,用于分析和可视化SQL查询的执行计划。
percona慢查询日志-标准分析报告解释
标准分析报告解释第一部分:概要信息一、概要这个部分是一个大致的概要信息(类似loadrunner给出的概要信息),通过它可以对当前MySQL的查询性能做一个初步的评估。
图一:概要图二、解释Overall: 总共有多少条查询,上例为总共1.19M个查询。
Time range: 查询执行的时间范围。
unique: 唯一查询数量,即对查询条件进行参数化以后,总共有多少个不同的查询,该例为475。
total: 总计min:最小max: 最大avg:平均95%: 把所有值从小到大排列,位置位于95%的那个数,这个数一般最具有参考价值。
median: 中位数,把所有值从小到大排列,位置位于中间那个数。
stddev:标准偏差Exec time:查询的执行时间,Lock time:锁占用的时间,Rows examine:MySQL执行器需要检查的行数,Rows sent:最后返回给客户端的行数,query size:查询的大小。
第二部分:重要数据一览表一、概要这个部分对所有”重要”的查询(通常是比较慢的查询)做了个一览表:图二:总览图二、解释Rank整个分析中该“语句”的排名,一般也就是性能最差的。
Response time “语句”的响应时间以及整体占比情况。
Calls 该“语句”的执行次数。
R/Call 每次执行的平均响应时间。
V/M 响应时间的差异平均对比率。
Item : 查询对象图三:总览图尾部在尾部有一行输出,显示了其他326个占比较低而不值得单独显示的查询的统计数据。
第三部分:详细信息一、概要这个部分会列出Profile表中每个查询的详细信息:图四:每个查询详细信息二、摘要Databases: 库名Users: 各个用户执行的次数(占比)Query_time distribution : 查询时间分布, 长短体现区间占比,本例中1s-10s 之间查询数量是10s 以上的两倍。
Tables: 查询中涉及到的表Explain: 示例。
percona toolkit 使用手册
percona toolkit 使用手册Percona Toolkit 是一套用于管理和维护MySQL 数据库的高性能工具。
以下是Percona Toolkit 的使用手册:1、安装Percona T oolkit在安装Percona Toolkit 之前,请确保您已经安装了Percona Server for MySQL。
您可以从Percona 官方网站下载Percona Toolkit,并按照安装向导进行安装。
2、常用命令和工具Percona Toolkit 提供了一系列有用的命令和工具,可以帮助您管理和维护MySQL 数据库。
以下是一些常用命令和工具的简要说明:pt-table-checksum:用于检查MySQL 数据库中表的一致性。
pt-table-sync:用于修复表的不一致性。
pt-heartbeat:用于监控MySQL 主从复制的状态。
pt-mysql-summary:用于显示MySQL 服务器的概要信息,包括查询、慢查询等。
pt-query-digest:用于分析MySQL 服务器的慢查询日志,找出性能瓶颈。
3、使用示例以下是一些使用Percona Toolkit 的示例:•检查表的一致性:sqlpt-table-checksum --user=root --password=password--host=localhost --port=3306 --databases=mydatabase•修复表的不一致性:csspt-table-sync --user=root --password=password --host=localhost --port=3306--fix--databases=mydatabase•监控主从复制状态:csspt-heartbeat --user=root --password=password --host=master--port=3306--logdir=/tmp/heartbeat4、参考文档和资源Percona Toolkit 的官方文档提供了更详细的使用说明和技巧,您可以访问Percona 官方网站获取最新版本的文档。
慢日志查询日志的理解-解释说明
慢日志查询日志的理解-概述说明以及解释1.引言1.1 概述慢日志查询是一种用于监测和分析系统中耗时较长的操作的机制。
在许多应用中,例如数据库系统、Web服务器或分布式系统中,慢日志查询都扮演着至关重要的角色。
概述部分将介绍慢日志查询的基本概念和作用。
首先,我们将阐述什么是慢日志以及它的定义。
慢日志记录了系统中执行时间较长的操作,例如数据库查询、网络请求或文件读写等。
通常,慢日志会记录操作的执行时间、请求参数以及执行结果等信息。
其次,我们将探讨慢日志查询的作用。
慢日志查询可以帮助系统管理员或开发人员了解系统中可能存在的性能瓶颈或潜在问题。
通过分析慢日志,我们可以识别出执行时间过长的操作,进而定位和解决系统中的性能问题。
总结起来,慢日志查询提供了一种有效的方式来监测系统中执行较慢的操作。
它不仅有助于我们发现并解决系统中的性能问题,还可以提供有价值的数据用于系统的优化和改进。
在接下来的正文部分,我们将深入探讨慢日志查询的必要性以及操作步骤,并对其重要性进行总结。
1.2文章结构1.2 文章结构本文主要围绕慢日志查询日志展开,探讨其定义、作用以及在实际应用中的重要性。
全文将分为引言、正文和结论三个部分。
具体的章节安排如下:1. 引言1.1 概述在数据库管理和性能优化的过程中,慢日志查询是一项重要的工作。
本章将简要介绍慢日志查询的背景和意义。
1.2 文章结构本章将简要说明整篇文章的结构和各部分的内容安排,为读者提供整体概览。
1.3 目的本章将明确本文的写作目的,指出希望通过本文传达给读者的主要信息。
2. 正文2.1 慢日志的定义和作用本章将详细介绍慢日志的概念,包括慢查询的定义和相关指标的解释。
同时,将探讨慢日志在数据库性能调优中的作用,以及对系统性能问题的诊断和优化的重要性。
2.2 慢日志查询的必要性本章将探讨为什么需要进行慢日志查询,从而引出慢日志查询的重要性。
将围绕日志分析、系统优化和故障排查等方面,详细说明慢日志查询在这些方面的作用。
使用perconna慢查询日志分析工具
使用perconna慢查询日志分析工具第一部分:安装percona-toolkit一、环境linux(不支持windows)二、快速安装(我使用的,用成功了)wgethttps:///downloads/percona-toolkit/2.2.16/RPM/percona-toolkit-2.2.16-1.noarch.rpm && yum localinstall -y percona-toolkit-2.2.16-1.noarch.rpm三、源码安装(网上还有这种装法,本人linux白痴一个,没敢用这么复杂方法,不知道此方法可行不,有兴趣的可以试下):wgethttps:///downloads/percona-toolkit/2.2.14/tarball/perc ona-toolkit-2.2.14.tar.gztar -zxvf percona-toolkit-2.2.14.tar.gzcd percona-toolkit-2.2.14#cat Makefile.PL#cat READMEperl Makefile.PLmakemake testmake install/usr/local/bin/pt-query-digest /opt/tuniu/mysql/data/slow-query.log 第二部分:语法及重要选项一、语法pt-query-digest [OPTIONS] [FILES] [DSN]二、重要选项--create-review-table 当使用--review参数把分析结果输出到表中时,如果没有表就自动创建。
--create-history-table 当使用--history参数把分析结果输出到表中时,如果没有表就自动创建。
--filter 对输入的慢查询按指定的字符串进行匹配过滤后再进行分析--limit限制输出结果百分比或数量,默认值是20,即将最慢的20条语句输出,如果是50%则按总响应时间占比从大到小排序,输出到总和达到50%位置截止。
MySQL中的慢查询日志及性能分析工具推荐
MySQL中的慢查询日志及性能分析工具推荐简介:MySQL是一个广泛使用的关系型数据库管理系统,对于处理大规模数据和高并发访问非常高效。
然而,在实际应用中,人们经常遇到查询缓慢的问题,这对于系统性能和用户体验是不可忽视的。
为了解决这个问题,MySQL提供了慢查询日志以及各种性能分析工具。
本文将介绍MySQL中的慢查询日志及一些性能分析工具的使用。
一、慢查询日志1. 慢查询日志的作用慢查询日志是MySQL提供的一种记录查询执行时间超过阈值的功能。
通过慢查询日志,管理员可以了解系统中存在的潜在性能问题,并对查询进行优化。
2. 慢查询日志的配置在MySQL的配置文件中,可以通过设置以下参数来开启慢查询日志:slow_query_log = 1slow_query_log_file = /路径/慢查询日志文件名long_query_time = 阈值其中,slow_query_log用于开启慢查询日志功能,slow_query_log_file指定慢查询日志的文件路径和名称,long_query_time用于设置查询执行时间的阈值。
一般建议将阈值设置为较大的数值,例如1秒,以便捕获更多可能存在问题的查询。
3. 分析慢查询日志分析慢查询日志可以使用MySQL自带的工具mysqldumpslow或pt-query-digest 等第三方工具。
mysqldumpslow可以用于从慢查询日志中提取查询记录,并根据不同的排序方式进行分析。
而pt-query-digest能够对慢查询日志进行更加全面和详细的分析,提供更多有用的信息。
二、性能分析工具推荐1. ExplainExplain是MySQL内置的用于查询性能分析的工具。
通过Explain,可以查看查询语句的执行计划、索引使用情况、表访问顺序等信息。
通过分析执行计划,可以评估查询的效率,并进行优化。
使用方法:EXPLAIN SELECT * FROM table_name WHERE condition;2. MySQL Performance SchemaMySQL Performance Schema是MySQL 5.5及以上版本提供的一种新的性能监控和分析工具。
服务器监控日志分析工具推荐实时监测系统状态
服务器监控日志分析工具推荐实时监测系统状态在现代的信息化时代,服务器的稳定运行对于企业或组织来说至关重要。
为了及时发现并解决服务器运行异常的情况,很多企业或组织都会使用服务器监控日志分析工具来实时监测系统状态。
本文将推荐几款在市场上备受好评的服务器监控日志分析工具,帮助您更好地监测服务器状态。
1. NagiosNagios是一款功能强大且广泛应用的开源服务器监控工具。
它支持对服务器的网络连接、服务器负载、存储空间等多个方面进行实时监控,并能够根据用户设定的阈值进行报警。
Nagios还可以自定义监控脚本,可以根据实际需求灵活配置监控项目。
其用户友好的图形界面和丰富的监控插件使得其成为了众多企业首选的服务器监控工具。
2. ZabbixZabbix是一款功能全面的服务器监控和日志分析工具,可以监测服务器的性能、网络流量、数据库运行等各个方面。
Zabbix可以实时获取服务器的状态信息,并通过图形界面提供直观的监控图表,帮助用户快速发现并解决服务器问题。
此外,Zabbix还提供了丰富的报警功能,能够通过邮件、短信等方式及时通知管理员,保障服务器的稳定运行。
3. SplunkSplunk是一款强大且易于使用的分布式日志分析工具。
它可以帮助用户处理和分析服务器产生的大量日志数据,并能够实时监控服务器的性能和状态。
Splunk支持多种数据源,并且能够在数据可视化方面提供更加灵活的功能,使用户能够清晰地了解服务器的运行情况。
此外,Splunk还提供了强大的搜索和查询功能,用户可以根据需求灵活地搜索和分析日志数据。
4. ELK StackELK Stack是由Elasticsearch、Logstash和Kibana三个开源软件组成的日志分析平台。
Elasticsearch用于存储和索引大量的日志数据,Logstash用于收集和处理服务器的日志数据,而Kibana则用于可视化日志数据并提供用户友好的搜索和分析接口。
MySQL数据库的性能监测和调优工具推荐
MySQL数据库的性能监测和调优工具推荐随着互联网的快速发展,大量的数据被存储在数据库中。
数据库的性能直接影响企业的运营效率和用户体验。
为了保证数据库的高性能运行,必须及时监测并调优数据库。
本文将介绍几种常用的MySQL数据库性能监测和调优工具,并分析其特点和适用场景。
一、MySQL性能监测工具1. MySQL WorkbenchMySQL Workbench是一款官方提供的免费工具,具有图形化界面,可以对MySQL数据库进行全面的性能监测和分析。
它可以监测数据库的各项指标,包括查询执行时间、连接数、IO操作等。
通过Workbench可以方便地诊断数据库性能问题,并提供相应的优化建议。
2. pt-query-digestpt-query-digest是Percona Toolkit中的一个工具,用于分析MySQL的慢查询日志。
它能够将慢查询日志文件转化为易读的报告,展示慢查询的统计信息和执行计划。
pt-query-digest可以帮助用户快速定位慢查询的原因,并优化相关的SQL语句,提高数据库的性能。
3. Performance SchemaPerformance Schema是MySQL官方引入的一种性能监测工具。
它可以实时监测MySQL数据库的性能指标,包括数据库连接、锁等待、缓冲区命中率等。
Performance Schema提供了一系列的表和视图,用于存储和展示性能监测数据,可以通过简单的SQL语句查询相关的信息。
4. sysbenchsysbench是一款开源的多线程性能测试工具,可以模拟大量的数据库负载,从而评估数据库的性能。
sysbench提供了多种测试模式,包括CPU计算、内存操作、磁盘IO、数据库压力测试等。
通过sysbench可以测量数据库在不同负载下的性能表现,并根据测试结果进行相应的优化。
二、MySQL性能调优工具1. pt-visual-explainpt-visual-explain是Percona Toolkit中的一个工具,用于可视化MySQL的SQL执行计划。
MySQL中的查询日志和慢查询分析工具推荐
MySQL中的查询日志和慢查询分析工具推荐MySQL是广泛使用的开源关系型数据库管理系统,它具有高性能、可靠性和可扩展性的特点,被许多企业和个人用来存储和处理大量的数据。
在实际使用中,对于MySQL数据库的查询日志和慢查询分析工具的了解和使用是非常重要的。
本文将介绍MySQL中的查询日志和一些慢查询分析工具的推荐,希望对读者有所帮助。
一、MySQL查询日志的作用和配置查询日志是MySQL记录每一条SQL语句的工具,它可以帮助我们了解数据库访问的情况,并进行性能优化。
首先,我们需要在MySQL的配置文件中打开查询日志的功能。
一般情况下,配置文件是f或my.ini,我们可以在其中找到和修改如下的配置项:```log_output = FILEgeneral_log = 1general_log_file = /var/log/mysql/query.log```其中,log_output指定了日志的输出方式,可以选择为FILE、TABLE或NONE。
我们一般选择FILE方式将日志输出到一个文件中。
general_log指定了是否开启查询日志,值为1表示开启,0表示关闭。
general_log_file指定了日志文件的路径和名称。
修改完配置文件后,需要重启MySQL服务使配置生效。
查询日志中会记录每一条SQL语句的执行时间、执行用户、执行的主机地址等信息,这些信息对于我们排查慢查询和性能优化是非常有帮助的。
需要注意的是,查询日志的开启会对系统的性能产生一定的影响,因此在生产环境中一般不会一直开启,而是在需要的时候进行开启和关闭。
二、慢查询分析工具的推荐除了查询日志,我们还可以借助一些专门的慢查询分析工具来帮助我们更方便地分析和优化慢查询。
下面介绍几种常用的慢查询分析工具。
1. MySQL Slow Query LogMySQL自带的慢查询日志是一种简单但功能强大的分析工具。
在MySQL的配置文件中,我们可以找到和修改如下的配置项:```slow_query_log = 1slow_query_log_file = /var/log/mysql/slow-query.loglong_query_time = 2```slow_query_log指定了是否开启慢查询日志,值为1表示开启,0表示关闭。
MySQL中的慢查询日志和性能分析工具
MySQL中的慢查询日志和性能分析工具随着计算机技术的不断发展和应用的扩大,数据库的使用变得越来越广泛。
而数据库的性能则成为了一个重要的问题,因为对于大部分应用来说,数据库是一个关键的组件。
MySQL作为一种常用的关系型数据库管理系统,其性能的优化是开发者关注的焦点之一。
在MySQL中,慢查询日志和性能分析工具是帮助我们进行性能优化和诊断的重要工具。
一、慢查询日志慢查询日志是MySQL中一种记录执行时间超过阈值的SQL语句的功能。
通过开启慢查询日志,我们可以了解到哪些SQL语句的执行时间超过了预设的阈值,从而帮助我们定位性能瓶颈。
下面我们来介绍一下如何开启慢查询日志。
在MySQL配置文件f中,可以设置慢查询日志的相关参数。
一般来说,我们需要配置以下几个参数:slow_query_log:是否开启慢查询日志,0表示关闭,1表示开启。
slow_query_log_file:慢查询日志的存储文件路径。
long_query_time:执行时间超过该值的SQL语句将被记录到慢查询日志中,单位为秒。
配置完成后,重启MySQL服务,慢查询日志就会开始记录了。
我们可以通过查看慢查询日志,来找出执行时间较长的SQL语句,以便进行进一步的优化。
除了通过配置文件来开启慢查询日志,我们也可以通过以下方式在运行时动态地开启或关闭慢查询日志:SET GLOBAL slow_query_log = 1; -- 开启慢查询日志SET GLOBAL slow_query_log = 0; -- 关闭慢查询日志通过慢查询日志,我们可以得到SQL语句的执行时间,从而判断哪些SQL语句需要进行性能优化。
然而,仅仅凭借慢查询日志,我们无法得到更加详细和准确的性能分析结果。
所以,MySQL提供了一些性能分析工具,帮助我们更好地了解数据库的性能状况。
二、性能分析工具1. ExplainExplain是MySQL中常用的查询性能分析工具之一。
perform monitor使用介绍
perform monitor使用介绍Perfmon(Performance Monitor)是Windows自带的性能监控工具,提供了图表化的系统性能实时监视器、性能日志和警报管理。
通过添加性能计数器(Performance Counter)可以实现对CPU、内存、网络、磁盘、进程等多类对象的上百个指标的监控。
以下是使用Perfmon的一些基本步骤:1. 启动Perfmon:可以在Windows任务栏的搜索框中输入“perfmon”,并点击打开;也可以按下Windows键+R,输入“perfmon”并点击确定;还可以在Windows管理工具中找到Performance Monitor 并点击打开。
2. 选择监视对象:一旦打开Performance Monitor,就可以开始选择要监视的对象。
可以在左侧的“性能监视器”窗格中的“监视”选项卡中选择要监视的对象。
选择对象后,相关计数器将显示在“显示计数器”窗格中。
3. 创建数据收集器:如果想要更深入地监控特定数据,可以使用Perfmon的数据收集器功能。
在Perfmon窗口中,展开“数据收集器集”,右键单击“用户定义”,指向“新建”,然后单击“数据收集器集”,将启动“创建新数据收集器集”向导。
按照向导一步步创建新的数据收集器。
推荐手动创建,选择自己感兴趣的指标监控。
创建好后,通过工具栏的启动按钮可以启动数据收集器。
点击工具栏上的停止按钮就可以停止数据收集器。
之后,可以在右侧导航栏选择“报告”,展开“用户定义”,查看报告。
报告也可以另存为csv文件做进一步分析。
4. 监控进程指标:对于进程的监控,主要关注CPU和内存等性能数据。
在创建数据收集器的时候选择监控process对象,并且选定对象的实例为想要监控的进程。
监控CPU可以使用% Processor Time 和% User Time这两个计数器;监控内存可以使用Handle Count、Virtual Bytes和Working Set这三个计数器。
percona toolkit 使用手册
percona toolkit 使用手册Percona Toolkit 是一个由Percona 公司开发的强大而实用的工具集,它旨在提供一系列的工具和脚本,帮助数据库管理员和开发人员更好地管理和维护 MySQL 数据库系统。
本文将详细介绍 Percona Toolkit 的使用方法和常见功能。
一、Percona Toolkit 简介Percona Toolkit 是一个开源的工具包,包含了多种用于 MySQL 数据库的管理和优化工具。
它提供了丰富的功能,如备份和恢复、查询分析、性能优化、数据同步等,可帮助用户更高效地管理和维护MySQL 数据库系统。
二、安装和配置 Percona Toolkit1. 下载 Percona ToolkitPercona Toolkit 可以从官方网站上下载,下载完成后,解压缩到指定的目录。
2. 配置环境变量将 Percona Toolkit 的路径添加到系统的环境变量中,以便在任何目录下都可以直接使用工具。
三、常用 Percona Toolkit 工具介绍1. pt-archiverpt-archiver 是一个用于归档和清理大表数据的工具,它可以根据条件将旧数据归档到其他表或文件中,以减少主表数据量,提高查询性能。
2. pt-duplicate-key-checkerpt-duplicate-key-checker 可以帮助用户检查数据库中是否存在重复的索引键,它会扫描表数据,找出可能存在的重复键,并给出相应的报告。
3. pt-table-checksumpt-table-checksum 用于检查 MySQL 主从复制的数据一致性,它会比较主库和从库的数据,并报告差异,方便用户及时发现问题并解决。
4. pt-query-digestpt-query-digest 是一个强大的查询分析工具,它可以分析 MySQL 的查询日志,找出慢查询和高负载的查询,帮助用户优化查询性能。
Permgen OOM分析简介(如何获取String.intern内容)
dumpideal { -a | id } dumpilt { -a | id } echo [ true | false ] examine [ address/count ] | [ address,address] field [ type [ name fieldtype isStatic offset address ] ] findpc address flags [ flag | -nd ] help [ command ] history inspect expression intConstant [ name [ value ] ] jdis address jhisto jseval script jsload file jstack [-v] livenmethods longConstant [ name [ value ] ] mem address [ length ] pmap print expression printas type expression printmdo [ -a | expression ] printstatics [ type ] pstack [-v] quit reattach revptrs address scanoops start end [ type ] search [ heap | perm | rawheap | codecache | threads ] value source filename symbol address
python分析慢查询日志生成报告
python分析慢查询⽇志⽣成报告python分析Mysql慢查询。
通过Python调⽤开源分析⼯具pt-query-digest⽣成json结果,Python脚本解析json⽣成html报告。
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2018/10/12 下午3:00# @Author : Kionf# @Site : https://# @Software: Sublimeimport subprocessimport jsonimport osimport reimport sysimport timefrom jinja2 import Environment, FileSystemLoader# reload(sys)# sys.setdefaultencoding('utf-8')LibToolkit = 'pt-query-digest'LibToolkit_url = 'https:///kalivim/Mysql-SlowLog-analysis/raw/master/pt-query-digest'HtmlTemplate = 'template.html'HtmlTemplate_url = 'https:///kalivim/Mysql-SlowLog-analysis/raw/master/template.html'#检测极赖os.system('rpm -q perl-Digest-MD5 || yum -y -q install perl-Digest-MD5')class RunAndCheckCommand:def __init__(self, commands, task_name, ret_code=0):mands = commandsself.task_name = task_nameself.ret_code = ret_codedef check_command_status_code(self):"""检测任务"""if self.exp_code == self.ret_code:print("\033[92m [INFO]>> %s \033[0m" % self.task_name)else:print("\033[91m [ERROR]>> %s \033[0m" % self.task_name)exit(1)def exec_command_stdout_res(self):"""执⾏命令实时返回命令输出:return:"""command_res = subprocess.Popen(mands, shell=True)while command_res.poll():line = command_res.stdout.readline()line.strip()if line:print(line)command_res.wait()self.exp_code = command_res.returncodeself.check_command_status_code()class AnalysisMysqlSlowLog:"""分析Mysql慢查询⽇志输出报告。
玩转“Log Parser”,轻松搞定网站日志安全分析
玩转“Log Parser”,轻松搞定网站日志安全分析玩转“Log Parser”,轻松搞定网站日志安全分析web日志分析是安全从业人员必须掌握的技能之一。
本文将介绍一款免费且强大的日志分析工具——Log Parser,它具备通用的日志分析能力,可以帮助我们分析windows系统日志,iis、apache、tomcat、nginx等web日志。
本文将重点介绍web方面的安全分析和系统日志分析。
一、介绍在生产环境中,系统每天产生的日志数量惊人。
一旦系统被入侵,能够追溯到攻击者的最好途径也只能是查看网站日志。
因此,web日志分析往往是件令人非常头疼的事情。
为了解决这一难题,我们可以使用Log Parser。
二、Log Parser的介绍Log Parser是XXX免费且强大的日志分析工具。
学会使用此工具,就能够实现对windows系统日志,iis、apache、tomcat、nginx等web日志进行分析。
我们只需要下载并安装Log Parser,然后将工具的路径加入系统环境变量中,就可以在任何地方调用此工具。
我们可以从以下链接下载Log Parser:/en-XXX?id=安装完成后,我们可以简单运行一下,Log Parser会输出帮助信息,如下图所示:图1三、使用Log Parser进行web日志分析使用Log Parser进行web日志分析非常简单。
我们只需要在命令行中输入相应的命令,就可以得到分析结果。
例如,我们可以使用以下命令来分析iis日志:LogParser.exe -i:IISW3C "SELECT * FROM ex*.log WHERE cs-uri-stem LIKE '%config%'"该命令将查询iis日志中所有包含“config”关键字的记录。
我们还可以使用Log Parser来分析其他类型的web日志,例如apache、tomcat、nginx等。
percona-toolkit工作原理
percona-toolkit工作原理Percona Toolkit是一个用于MySQL数据库管理和维护的工具集,它由多个工具组成,包括备份、复制、性能分析、数据修复等功能。
Percona T oolkit的工作原理如下:1. 收集MySQL数据库信息:Percona Toolkit通过使用MySQL的SHOW命令和信息模式(information_schema)来收集数据库的元数据和性能指标。
这些信息包括表和索引的大小、查询的执行计划、锁定和等待事件等。
2. 分析MySQL数据库信息:Percona Toolkit可以对收集到的MySQL数据库信息进行分析,以便更好地了解数据库的性能瓶颈和问题。
例如,Percona Toolkit可以分析查询执行计划,以确定是否存在慢查询,或者分析锁定和等待事件,以确定是否存在锁定争用。
3. 优化MySQL数据库性能:Percona Toolkit提供了一些工具,可以帮助优化MySQL数据库的性能。
例如,pt-query-digest可以分析慢查询日志,并生成报告,以便识别和优化慢查询。
pt-index-usage可以分析索引使用情况,并生成报告,以便识别和优化索引。
4. 维护MySQL数据库:Percona Toolkit还提供了一些工具,可以帮助维护MySQL数据库。
例如,pt-online-schema-change可以在不中断服务的情况下修改表结构,pt-table-checksum可以检查数据在主从服务器之间的一致性,pt-table-sync可以同步数据在主从服务器之间的差异。
总之,Percona Toolkit通过收集、分析和优化MySQL数据库的信息,帮助用户更好地管理和维护MySQL数据库。
pt-query-digest 用法
pt-query-digest 用法
pt-query-digest 是Percona Toolkit中的一个工具,用于分析和统计MySQL服务器的查询日志文件。
以下是pt-query-digest 的常用用法:
1. 分析单个查询日志文件:
pt-query-digest /path/to/slow-query.log
该命令将分析指定的查询日志文件,生成查询统计报告。
2. 分析多个查询日志文件:
pt-query-digest /path/to/slow-query1.log /path/to/slow-query2.log pt-query-digest还允许同时分析多个查询日志文件,并生成一个综合的查询统计报告。
3. 分析远程MySQL服务器的查询日志:
pt-query-digest --user=username --password=password --
host=hostname [--port=port] --processlist
该命令可以通过指定MySQL服务器的连接参数,分析并生成远程服务器的查询统计报告。
--processlist选项表示要分析服务器的实时进程列表,而不是查询日志文件。
4. 将结果保存到文件中:
pt-query-digest /path/to/slow-query.log > /path/to/report.txt
通过使用重定向操作符">",将查询统计报告保存到指定的文件中。
这些是pt-query-digest的一些常用用法,更多的用法和参数可以通过运行pt-query-digest --help命令来查看。
Windows操作系统的性能监控工具――Perfmon
Windows操作系统的性能监控工具――Perfmon一、概述Perfmon(Performance Monitor)是Windows自带的的性能监控工具,这个工具可监控包括CPU、内存、网络、进程、磁盘等多个对象的上百个指标。
Perfmon提供了图表化的系统性能实时监视器、性能日志和警报管理,系统的性能日志可定义为二进制文件、文本文件、SQLSERVER表记录等方式,可以很方便地使用第三方工具进行性能分析。
二、常用的性能指标系统的整体性能由许多因素决定,例如CPU利用率、CPU队列长度、磁盘空间和I/O、内存使用情况、网络流量等等。
对于实时性要求较高的系统而言,对系统关键性指标的有效监控和管理是保证系统高可用性的重要手段,因此,务必制定出明确的系统性能策略规划,并对这些性能指标进行有效的实时监控。
当关键性能指标严重偏离或者系统发生故障时,应该采取有效手段来准确定位问题引发的原因,并通过调优系统配置或改进应用程序等手段来有效提高系统的可用性。
(一)Perfmon的监控对象Perfmon提供了比较全面的系统性能指标,并且能够根据性能管理的要求订制日志内容、制定关键指标偏离时的警报措施。
《表一》列出了Perfmon可以监控的性能对象,每一个性能对象项下包含多个性能指标计数器。
(二)常用的Perfmon监控对象与指标以上列出的性能对象总共有上百个性能指标,我们关注一个系统的性能时,不可能关注这么多指标,有些对象对实际的应用系统影响并不大。
但对一个Windows操作系统来说,CPU、Memmory、Disk 和Network等关键对象是性能监控中必不可少的项。
《表二》列举了最常用的性能对象的重要指标。
(三)Perfmon对进程的监控指标一般说来,服务器上都布署了一个或多个应用程序,这些应用程序在运行期间经常体现为若干个应用进程。
为了便于监控应用程序的运行情况,在程序设计过程中一般都会同时布署应用系统的监控程序。
Percona监控MySQL模板详解
Percona监控MySQL模板详解InnoDB Adaptive Hash Index显⽰了“⾃适应哈希索引”的使⽤情况,哈希索引只能⽤来搜索等值的查询.# Hash table size 17700827, node heap has 35112 buffer(s)# 3577.42 hash searches/s, 507.49 non-hash searches/sHash Index Cells Total ⾃适应哈希表的槽数=innodb_buffer_pool_size/256Hash Index Cells Used ⽤到⾃适应哈希表的查询个数InnoDB Buffer Pool Activity显⽰Innodb缓冲池的内部活动,页的创建,读取,写⼊.如果有突然的增加或者减少,需要检查应⽤Pages CreatedPages ReadPages WrittenInnoDB Buffer PoolPool Size InnoDB缓冲池的页数量,每页⼤⼩16KDatabase Pages 数据页⼤⼩Free Pages 空闲页⼤⼩Modified Pages "脏"数据页.如果脏数据页太多,则需要检查磁盘IO状态.InnoDB Checkpoint AgeUncheckpointed Bytes显⽰了未写⼊磁盘的数据量.如果该值的⼤⼩接近innodb_log_file_size * n 的总⼤⼩,则需要增加innodb_log_file_size的值,但是要注意,如果发⽣宕机,则需要更长的回复时间.(从redolog恢复)InnoDB Current Lock WaitsInnoDB Lock Wait Secs显⽰每秒处于锁等待的innodb事务总数.如果有⼀个⾮常⼤的值,应该检查LOCK WAIT transactions,请看下⾯的模板InnoDB I/OFile Reads 显⽰每秒⽂件的读次数File Writes 显⽰每秒⽂件的写次数Log Writes 写⽇志的次数File Fsyncs 调⽤fsync()函数的次数.与innodb_flush_log_at_trx_commit值的设置有关.InnoDB I/O Pending显⽰了InnoDB挂起的同步或异步IO操作.如果挂起的操作太多,则需要更⼤的RAM,更⼤的缓冲池,更快的磁盘.Pending Aio Log IosPending Aio Sync IosPending Buf Pool FlushesPending Chkp WritesPending Ibuf Aio ReadsPending Log FlushePending Log WritesPending Normal Aio ReadsPending Normal Aio WritesInnoDB Insert Buffer插⼊缓冲,并不是缓存的⼀部分,⽽是物理页,对于⾮聚集索引的插⼊或更新操作,不是每⼀次直接插⼊索引页.⽽是先判断插⼊的⾮聚集索引页是否在缓冲池中.如果在,则直接插⼊,如果不再,则先放⼊⼀个插⼊缓冲区中.然后再以⼀定的频率执⾏插⼊缓冲和⾮聚集索引页⼦节点的合并操作.使⽤条件:⾮聚集索引,⾮唯⼀Ibuf Inserts插⼊的记录数Ibuf Merged合并的页的数量Ibuf Merges合并的次数如果merges/merged的值等于3/1,则代表插⼊缓冲对于⾮聚集索引页的IO请求⼤约降低了3倍InnoDB Insert Buffer UsageIbuf Cell Count分段⼤⼩Ibuf Used Cells插⼊缓冲区的⼤⼩Ibuf Free Cells"⾃由列表"的长度InnoDB Internal Hash Memory Usage显⽰了InnoDB内部各种哈希结构(不可⼈⼯⼲预),占⽤的内存⼤⼩.Adaptive Hash Memory⾃适应哈希索引占⽤的内存⼤⼩Page Hash MemoryDictionary Cache MemoryFile System MemoryLock System MemoryRecovery System MemoryThread Hash MemoryInnoDB Lock StructuresInnoDB Lock Structs该图形显⽰了在innodb内部有多少锁结构(不是死锁).这⼤致与当前事务锁住的⾏数有关系.可以⽤来判断是否存在锁争⽤.对于数量多少算好或者算坏,没有硬性的规定.实际情况下,⼤量的事务在等待锁,很明显,该值越⼩越好.这个数据来源是SHOW ENGINE INNODB STATUS;# 23 lock struct(s), heap size 3024, undo log entries 27# LOCK WAIT 12 lock struct(s), heap size 3024, undo log entries 5# LOCK WAIT 2 lock struct(s), heap size 368InnoDB Log相关变量:innodb_log_buffer_sizeInnoDB Log Buffer SizeLog Bytes WrittenLog sequence number当前⽇志的位置Log Bytes FlushedLog flushed up to⽇志已经刷新的位置Unflushed Log是log_bytes_written与log_bytes_flushed的差值,表⽰⽇志缓存区⾥还有多少数据没被刷新到⽇志⽂件⾥.如果这个差值超过了innodb_log_buffer_size设置的30%,则需要考虑是否加⼤该参数值.InnoDB Memory AllocationTotal memory allocated 8824815616; in additional pool allocated 0Total Mem AllocInnoDB申请的总内存量,单位字节Additional Pool Alloc分配给额外内存的总量,单位字节InnoDB Row Lock TimeInnoDB Row Lock Time该模板读取的Innodb_row_lock_time状态变量,表⽰InnoDB引擎在每次申请数据⾏锁定时等待的总时间(以毫秒为单位). InnoDB Row Lock WaitsInnoDB Row Lock Waits读取的Innodb_row_lock_waits状态变量,表⽰InnoDB经过这么长时间才获得⼀个⾏锁.(毫秒)InnoDB Row OperationsNumber of rows inserted 50678311, updated 66425915, deleted 20605903, read 454561562⼤致能表现InnoDB内部的操作Row ReadRow DeletedRow UpdatedRow InsertedInnoDB Semaphores Wait TimeInnoDB Sem Wait Time Ms显⽰当前正在等待互斥量的InnoDB线程的等待时间的总耗时(毫秒).分析:正常情况下,InnoDB Semaphores Wait Time和 InnoDB Semaphores Waits应该是空的.除⾮服务器运⾏着⾼并发的⼯作负载,它促使InnoDB采取让操作系统等待的措施.信息位于SHOW ENGINE INNODB STATUS的SEMAPHORES⽚段.相关php脚本代码部分如下:elseif (strpos($line, 'seconds the semaphore:') > 0) {# --Thread 907205 has waited at handler/ha_ line 7156 for 1.00 seconds the semaphore:increment($results, 'innodb_sem_waits', 1);increment($results, 'innodb_sem_wait_time_ms', to_int($row[9]) * 1000);}其中innodb_sem_waits的值是多少,表⽰有多少线程在等待,⽽innodb_sem_wait_time_ms表⽰所有线程等待的时间,默认单位是秒,在脚本中乘以1000,所以监控图中的单位是毫秒.应对这个问题InnoDB采取多阶段等待策略.⾸先,尝试对锁进⾏循环等待.如果经过了⼀个预设的循环等待周期(innodb_sync_spin_loops = 30,当前配置⽂件默认为30次)之后还没有成功,就会退到更昂贵更复杂的等待阵列⾥,如果并发量太⼤的话,则导致系统负载突增.循环等待的成本相对⽐较低,但是需要不停地检查⼀个资源是否被锁定,消耗CPU周期,也就是说,当另外⼀条线程能处理事情时,循环等待也会独占处理器.循环等待的替换⽅案就是让操作系统做上下⽂切换(等待阵列),每秒钟⼏千次的切换会引发⼤量的系统开销.解决办法根据具体的应⽤,调整参数;或者优化应⽤,减少并发.InnoDB Semaphores WaitsInnoDB Sem Waits显⽰当前正在等待互斥量的InnoDB线程的数量.InnoDB Semaphores显⽰innodb内部的信号活动状态.包括Mutex spin waits,RW-shared spins,RW-excl spins等各种信号量的数量总和.Spin RoundsInnoDB内部预设的互斥量信号数量Spin WaitsInnoDB内部对锁进⾏循环等待的数量(与innodb_sync_spin_loops参数有关)Os Wait系统等待事务退到操作系统的等待阵列的数量在⾼并发的情况,会发现这个值有尖峰状,不稳定.图像主要显⽰了,不合理的设计情况下,不同的连接类型之间的⾏锁或互斥锁的争⽤.InnoDB Tables In Use# mysql tables in use 2, locked 2InnoDB Tables In Use所有事务⽤到的表的数量InnoDB Locked Tables所有事务锁定的表的数量InnoDB Transactions Active/Locked该图显⽰了InnoDB事务的状态数量.Active Transactions正在执⾏的事务数量Locked Transactions锁住的事务数量Current Transactions当前的事务数量(包括not started,ACTIVE,...等各种状态)not started # 事务已经提交到磁盘ACTIVE # 正在执⾏的事务Read Views(待更新)read views open inside InnoDBInnoDB Transactions显⽰了InnoDB事务相关的信息InnoDB TransactionsInnoDB内部的事务总数.由以下数值计算出:Trx id counter 89F56195 # 当前事务ID,每创建⼀个新事务就会累加Purge done for trx's n:o < 89F5609C undo n:o < 0 -- InnoDB清除旧版本MVCC时所⽤的事务ID.这个ID之前的⽼版本数据已经清除.该数值就是由当前事务ID减去清除旧数据的事务ID再由⼗六进制转成⼗进制的值.(参考ss_get_mysql_stats.php脚本902⾏)History List历史记录的长度.位于InnoDB数据⽂件的撤销空间⾥的未清除事务的数⽬.当⼀个事务执⾏了更新并提交后,这个数字就会累加,当清除进程移除⼀个旧版本数据时,它就会递减.MyISAM Indexs显⽰了在MyISAM索引上的读写情况Key Reads Requests从键缓存读出索引块的读操作的次数Key Reads从磁盘读出索引块的读操作次数Key Write Requests向键缓存写⼀个索引块的请求的个数Key Writes把索引块写⼊磁盘的写操作的次数MyISAM Key CacheKey Buffer Size键缓存⼤⼩Key Buf Bytes Used同Key_blocks_used变量键缓存⾥已经被使⽤的缓存块的个数Key Buf Bytes Unused同Key_blocks_unused键缓存⾥尚未被使⽤过的缓存块的个数MySQL Binary/Relay LogsBinlog Cache Use保存在⼆进制⽇志缓存⾥的事务的个数Binlog Cache Disk Use超过binlog_cache_size设置的缓存⼤⼩,使⽤磁盘临时⽂件的事务的个数Binlog Log Space⼆进制⽇志的⼤⼩Relay Log Space中继⽇志的⼤⼩如果Binlog Cache Disk Use/Binlog Cache Use的值较⼤,那么应该尝试增加binlog_cache_size的⼤⼩.但是,也不要期望改善过多,如果写临时⽂件的数量从每秒1个减少到每分钟⼀个,这已经证明优化的⾜够好了.没必要耗费⼤量的内存,来处理binlog_cache_size中的事务.MySQL Command Counts命令计数器,显⽰了MySQL(在过去1秒内)执⾏各种命令的次数Questions记录了服务器收到的查询和命令的总数.(Com_*变量的总数不⼀定相等.)Com SelectCom DeleteCom InsertCom UpdateCom ReplaceCom LoadCom Delete MultiCom Insert SelectCom Update MultiCom Replace SelectMySQL ConnectionsMax Connections 允许同时保持在打开状态的客户连接的最⼤个数Max Used Connections 此前曾同时打开处于打开状态的连接的最⼤个数Aborted Clients 因客户端没有正确地关闭⽽被丢弃的连接的个数Aborted Connects 试图连接MySQL服务器但没有成功的次数Threads Connectd 现在正处于打开状态的连接的个数Connections 试图连接MySQL服务器的尝试次数MySQL Files and TablesTable CacheOpen Tables 当前处于打开状态的数据表的个数.不包括TEMPORARYOpen Files 当前处于打开状态的⽂件的个数,如果与open_files_limit接近,则应该加⼤open_files_limit的值.Opened TablesMySQL服务器已打开的数据表总数(包括显式定义的临时表).如果这个值很⾼,应该慎重考虑,是否加⼤数据表缓存(table_open_cache).MySQL HandlerHandler_writer 向数据表⾥插⼊⼀个数据⾏的请求的个数Handler_update 对数据表⾥的⼀个数据⾏进⾏修改的请求的个数Handler_delete 从数据表删除⼀个数据⾏的请求的个数Handler_read_first 读取索引中第⼀个索引项的请求的个数Handler_read_key 根据⼀个索引值⽽读取⼀个数据⾏的请求的个数Handler_read_next 按索引顺序读取下⼀个数据⾏的请求的个数Handler_read_prev 按索引逆序读取前⼀个数据⾏的请求的个数Handler_read_rnd 根据某个数据⾏的位置⽽读取该数据⾏的请求的个数Handler_read_rnd_next 读取下⼀个数据⾏的请求的个数.如果这个数字很⾼,就说明有很多语句需要通过全表扫描才能完成或有很多查询没有使⽤适当的索引MySQL Network TrafficBytes Send 发送字节数Bytes Received 收到字节数MySQL ProcesslistState Closing Tables该线程将已更改的表数据刷新到磁盘,并关闭已使⽤的表。
procmonitor的使用方法
procmonitor的使用方法
Procmon是一款免费的Windows进程监视工具,它能够帮助用户监视系统上运行的进程和线程的活动,以及监视系统和应用程序的文件和注册表操作。
使用Procmon可以更轻松地发现并解决Windows应用程序的问题,同时也可以查看任何应用程序如何访问系统资源。
以下是Procmon的使用方法:
1. 下载Procmon并安装它。
2. 打开Procmon,它将自动开始监视系统。
3. 点击“过滤器”按钮,在“过滤器”对话框中设置需要监视的进程、操作、路径等筛选条件,然后点击“添加”按钮。
4. 执行需要监视的应用程序或操作,Procmon将记录所有相关的文件操作、注册表操作和网络活动。
5. 在Procmon窗口中查看日志,它将显示应用程序或操作所执行的所有操作,可以通过过滤器将结果进一步缩小到特定的操作或文件路径。
6. 通过查看Procmon日志,可以确定应用程序或操作中出现的问题,并采取适当的措施解决它们。
总的来说,Procmon是一款强大的Windows进程监视工具,可以帮助用户追踪系统和应用程序的活动,及时发现和解决问题。
- 1 -。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用perconna慢查询日志分析工具
第一部分:安装percona-toolkit
一、环境
linux(不支持windows)
二、快速安装
(我使用的,用成功了)
wget
https:///downloads/percona-toolkit/2.2.16/RPM/percona-toolkit-2.2.16-1.noarch.rpm && yum localinstall -y percona-toolkit-2.2.16-1.noarch.rpm
三、源码安装
(网上还有这种装法,本人linux白痴一个,没敢用这么复杂方法,不知道此方法可行不,有兴趣的可以试下):
wget
https:///downloads/percona-toolkit/2.2.14/tarball/perc ona-toolkit-2.2.14.tar.gz
tar -zxvf percona-toolkit-2.2.14.tar.gz
cd percona-toolkit-2.2.14
#cat Makefile.PL
#cat README
perl Makefile.PL
make
make test
make install
/usr/local/bin/pt-query-digest /opt/tuniu/mysql/data/slow-query.log 第二部分:语法及重要选项
一、语法
pt-query-digest [OPTIONS] [FILES] [DSN]
二、重要选项
--create-review-table 当使用--review参数把分析结果输出到表中时,如果没有表就自动创建。
--create-history-table 当使用--history参数把分析结果输出到表中时,如果没有表就自动创建。
--filter 对输入的慢查询按指定的字符串进行匹配过滤后再进行分析
--limit限制输出结果百分比或数量,默认值是20,即将最慢的20条语句输出,如果是50%则按总响应时间占比从大到小排序,输出到总和达到50%位置截止。
--host mysql服务器地址
--user mysql用户名
--password mysql用户密码
--history将分析结果保存到表中,分析结果比较详细,下次再使用--history 时,如果存在相同的语句,且查询所在的时间区间和历史表中的不同,则会记录到数据表中,可以通过查询同一CHECKSUM来比较某类型查询的历史变化。
--review将分析结果保存到表中,这个分析只是对查询条件进行参数化,一个类型的查询一条记录,比较简单。
当下次使用--review时,如果存在相同的语句分析,就不会记录到数据表中。
--output分析结果输出类型,值可以是report(标准分析报告)、
slowlog(Mysql slow log)、json、json-anon,一般使用report,以便于阅读。
--since从什么时间开始分析,值为字符串,可以是指定的某个”yyyy-mm-dd [hh:mm:ss]”格式的时间点,也可以是简单的一个时间值:s(秒)、h(小时)、m(分钟)、d(天),如12h就表示从12小时前开始统计。
--until截止时间,配合—since可以分析一段时间内的慢查询。
第三部分:用法示例
你用第一次pt-query-digest命令的时候,系统会提示你安装它,然后根据它的提示一步一步走下去就好了;
安装完成之后就可以用这个的命令了;
一、直接分析慢查询文件:
pt-query-digest slow.log > slow_report.log
二、分析最近12小时内的查询:
pt-query-digest --since=12h slow.log > slow_report2.log
三、分析指定时间范围内的查询:
pt-query-digest slow.log --since ‘2014-04-17 09:30:00‘ --until ‘2014-04-17 10:00:00‘> > slow_report3.log
四、分析指含有select语句的慢查询
pt-query-digest--filter ‘$event->{fingerprint} =~ m/^select/i‘ slow.log> slow_report4.log
五、针对某个用户的慢查询
pt-query-digest--filter ‘($event->{user} || "") =~ m/^root/i‘ slow.log> slow_report5.log
六、查询所有所有的全表扫描或full join的慢查询
pt-query-digest--filter ‘(($even t->{Full_scan} || "") eq "yes") ||(($event->{Full_join} || "") eq "yes")‘ slow.log> slow_report6.log
七、把查询保存到query_review表
pt-query-digest --user=root –password=abc123 --review h=localhost,D=test,t=query_review--create-review-table slow.log
八、把查询保存到query_history表
pt-query-digest --user=root –password=abc123 --review h=localhost,D=test,t=query_ history--create-review-table slow.log_20140401
pt-query-digest --user=root –password=abc123--review h=localhost,D=test,t=query_history--create-review-table slow.log_ 20140402
九、通过tcpdump抓取mysql的tcp协议数据,然后再分析
tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql.tcp.txt
pt-query-digest --type tcpdump mysql.tcp.txt> slow_report9.log
十、分析binlog
mysqlbinlog mysql-bin.000093 > mysql-bin000093.sql
pt-query-digest --type=binlog mysql-bin000093.sql > slow_report10.log
十一、分析general log
pt-query-digest --type=genlog localhost.log > slow_report11.log。