当前位置:   article > 正文

浅谈TDSQL数据库的性能调优_tdsql性能优化

tdsql性能优化

TDSQL概述

TDSQL是腾讯研发的一款兼容MySQL协议的国产分布式数据库,适用于大并发、高性能、大容量的 OLTP 类场景。TDSQL分为集中式和分布式版本,分布式版可支持分布式事务,但性能不如单机事务,性能会有一定的损耗,如需使用,需要进行实际测试结果来决定是否使用。

TDSQL性能监控分析工具

1 赤兔平台

赤兔平台中通过DB监控、实例监控和SQL Engine监控可以查看查看数据库及网关的监控指标,通过日志管理查看慢查询和SQL Engine日志,同时还可以通过性能分析报告(实例管理-》“点击实例 ID 进入”-》性能分析)查看系统状态、表空间分布、冗余索引、死锁诊断、锁等待诊断、慢查询分析、DB状态检查等信息。

1、慢查询

慢查询诊断通过TDSQL的监控库汇总set中主备慢查询的分析结果,并对每个摘要对应的样例SQL生成的索引建议作为该类SQL的建议。点击实例管理-实例ID-日志查询-慢查询,查看DB是否有慢查询SQL。

如果有慢查询,可以点击SQL分析可以查看修改建议和SQL的查询计划。

2、SQL Engine慢查询

SQL Engine慢查询与慢查询相比,增加了sql在SQL Engine的执行时间。如没有慢查询,可以查看是否有SQL Engine慢查询,如不存在慢查询,仅存在porxy慢查询,可考虑对porxy服务器扩容。

3、死锁或锁等待

通过实例管理-实例ID-性能分析-实时诊断,可查看数据库是否存死锁。通过实例管理-实例ID-性能分析-实时诊断,可查看数据库是否存在锁等待。

4、冗余索引

冗余索引意味着update/insert/delete需要更新不必要的索引,带来潜在的性能影响。通过实例管理-实例ID-性能分析-实时诊断,可查看数据是否存在冗余索引。

5、会话检查

通过性能分析-会话检查可以查看数据库的所有会话。也可通过异常会话菜单可以查看实时会话和异常会话。

2 APM监控工具

通过APM工具和全链路监控工具中交易的堆栈信息可以查看sql语句的执行时长,进而发现执行慢的SQL语句。

3 DBbrain

DBbrain为腾讯新开发的TDSQL性能分析工具,可以实现从业务SQL到DB SQL双向追踪,还可以对死锁、等待行锁等多个锁冲突场景进行异常诊断,还可以对慢查询进行分析并给出优化建议。

性能问题排查思路

1 检查运行状态

登录赤兔,通过DB监控和SET管理均可以查看TDSQL各节点的运行情况。此外,也可以登录TDSQL服务器,通过PS -ef|grep tdsql_run查看TDSQL进程是否存在。

2 检查配置参数

1、查看数据库参数

登录赤兔,通过实例管理-数据库管理-数据库参数,可以参看数据库配置参数,重点关注最大连接数的设置。

2、查看数据库连接串参数

登录POD的控制台,在/soft/tomcat/conf目录下查看context.xml文件,可以看到数据库连接串配置的参数。连接串参数可以重点关注serverTimezone、rewriteBatchedStatements、netTimeoutForStreamingResults、allowMultiQueries等参数。

3 借助监控工具查看异常

通过赤兔及DBbrain可以查看慢查询、SQL Engine慢查询、死锁等监控项,并查看SQL优化建议,此外,通过APM和全链路监控工具也可以查看响应时间慢的SQL语句。

4 检查Engine日志

TDSQL SQL Engine日志文件分为接口日志文件(interf_instance_xxx)、SQL日志文件(SQL_instance_xxxx)和慢查询日志文件(slow_SQL_instance_xxxx)。

接口日志文件接口日志主要存储了由客户端传输给服务器的原始SQL信息,包括客户端,后端服务器、新建连接的数量、新建连接的花费的时间、查询得到的结果集总量、操作影响的行数等;SQL日志文件记录了在set中具体执行的SQL信息;慢查询日志慢查询日志主要存储了ddl语句及响应时间超过1s的dml语句。

5 关注数据分布情况

对于批量程序,应关注各节点的处理的数据量差异,尽可能使各节点的数据量保持均匀,避免因各节点数据量差异影响批量程序的执行时长。此外,批量提交的size可以在性能测试中进行调整,从而找对批量执行效率最高的size设置值。

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/901463
推荐阅读
相关标签
  

闽ICP备14008679号