本章介绍了如何使用TIDB提供的系统监视诊断工具来调查和诊断运行负载中的查询。此外,还通过上一章中介绍的解释说明查看诊断查询计划,本章将主要介绍慢速查询。通过TIDB慢速查询以及TIDB仪表板的可视化状态。
下载TIDB社区版本
咨询TIDB企业版
免费试用TIDB Cloud适合中国海外公司和开发人员
TIDB默认情况下将启用缓慢的查询日志,并将执行时间节省超过指定阈值SQL到日志文件。Slow查询日志通常用于定位慢速查询语句,分析和求解SQL.you还可以查看慢速的性能。通过系统表的当前TIDB节点的查询日志,其字段与日志文件文件的内容一致。TIDB自4.0版以来添加了一个新的系统表,可用于查看所有TIDB节点的慢速查询。
本节将首先简要介绍慢速查询日志的格式和字段含义,然后为上述两个慢速查询系统表提供一些常见的查询示例。
以下是典型的慢速查询日志:
日志中每个字段的含义逐一介绍。
注意:日志中日志中所有时间的单元为秒。
(1)慢查询基本信息:
(2)与交易执行有关的字段:
(3)与内存有关的相关字段:
(4)与用户相关的字段:
(5)与TIKV协处理器任务有关的字段:
以下显示了如何通过SQL检查TIDB的慢速查询。
搜索当前节点顶部N慢速查询
以下SQL用于检索当前TIDB节点的前2个慢速查询:
搜索所有节点以指定用户的顶部N慢速查询
以下SQL将检索所有TIDB节点上指定的所有前2个慢速查询:
搜索类似的慢速查询
在获得顶级慢速查询后,您可以通过SQL指纹继续检索类似的慢速查询。
搜索统计信息的搜索缓慢查询信息
如果标记日志中的日志中的统计信息,则通常表明TIDB表的统计信息不及时,您需要手动运行统计信息。以下SQL可以找到这种类型的慢速查询:
查询执行计划中的慢速查询
由于统计信息不正确,因此可能会导致同一类型SQL的执行计划的意外变化。使用以下SQL检索慢速查询具有各种不同的执行计划:
统计每个节点的慢速查询数量
在SQL的指定期间,每个TIDB节点上出现了以下SQL统计数量:
在检索期间缓慢查询
假设QPS减少和查询响应时间在此期间,则可以使用以下SQL过滤出仅在异常时期出现的慢速查询:
上一节介绍了使用慢速查询表来检查慢速查询,但慢速查询仅记录超过慢速对数阈值的SQL,并且缺乏对所有运行负载的诊断和调查。本节将引入以检查定位问题通过使用TIDB dashboard.TIDB仪表板提供用于监视和统计信息SQL的语句,例如页面上的大量列表信息,包括延迟,执行数,扫描行,全表扫描等,过多的内存等,太多的内存等,帮助用户定位性能问题。
TIDB支持了各种绩效调查工具。但是,在各种应用程序方案的需求下,仍然不足以:
1. Grafana无法检查单个SQL的性能
2.慢log仅记录超过慢log值的SQL
3.大节日志本身对性能有一定的影响
4.解释分析只能查看可以复制的问题
5.个人资料只能查看整个实例的瓶颈
因此,可视化语句的启动可以直接观察页面上的SQL执行,而无需查询系统表以促进用户定位性能问题。
从版本4.0开始,TIDB提供了集成在PD组件上的新仪表板操作和维护管理工具,默认地址为http:// pd-url:pd_port/dashboard.different从Grafana监视的角度来看,从数据库的角度来看监视,从DBA管理员的角度来看,TIDB仪表板,最大化管理员的TIDB数据库的操作和维护,可以在一个接口中看到整个分布式数据库群集的操作状态,包括整个分布式数据库群集的操作状态,包括Datata Hotspots,,SQL操作,群集信息,日志搜索,实时性能分析等。
登录后,单击左侧的“ SQL语句分析”以输入此功能页面。
在此期间,在选项框中选择要在选项框中分析的时间段,您可以在此期间获取所有数据库的SQL语句的统计信息。
如果您仅关心某些数据库,则可以选择相应的数据库来过滤第二个选项框中的结果并支持多个选择。
结果以表的形式显示,并支持根据不同的列对结果进行排序,如下图所示。
1.选择要分析的时间段
2.支持根据数据库过滤
3.支持根据不同指标进行排序
注意:这里引用的SQL语句实际上是指某种类型的SQL语句。具有一致语法的SQL语句将被排除为一种SQL语句。
例如:
一度
在SQL类别列中,单击某种类型的SQL语句,您可以输入SQL语句的详细信息页面以查看更多详细信息,以及在不同节点上的SQL语句的统计信息。
单个语句详细信息页面的关键信息如下图所示。
1. SQL执行的总时间
2.平均行数(通常写)
3.平均扫描线(通常阅读)
4.每个节点执行指标(可以快速找到节点性能瓶颈)
设置表的清晰周期,单元为第二,默认值为1800,例如:
由于语句信息存储在存储表中,因此为了防止内存溢出和其他问题,需要SQL数字的数量和所需的SQL的最大显示长度。这些参数需要在Config.toml下进行配置。类别:
注意:几种配置的配置会影响内存职业。建议根据实际情况进行调整。设置过多是不合适的。
总而言之,可视化语句可以快速定位SQL性能问题。
本文是“ TIDB查询优化和曲调”系列文章的第三篇文章。如前所述,我们介绍了优化器和TIDB查询计划的基本概念。在未来的计划诊断和调整功能中,如果您对TIDB产品有任何建议,欢迎使用Internalys.tidb.io与我们交流。