暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB性能调优应⽤实践

原创 张欣 2024-01-19
76

       先看看性能调优的思路,遇到性能问题,先确定性能调优的范围,观察是否是某个系统资源达到瓶颈,或者是否存在SQL阻塞或慢SQL。如果是系统资源类问题,通过系统调优来进⾏诊断和优化;如果是SQL层⾯问题,通过SQL调优进⾏诊断和优化,最终看优化后效果是否满⾜业务需求,如果⼀次优化不能达成预期,则需要多轮迭代,最终达成⽬标。


       数据库系统整体性能问题的定位思路,先判断是数据库层⾯问题还是其他层⾯问题,其他层⾯问题是否是节点上其他进程引起的数据库性能下降,或者是操作系统参数配置不当引起的。若是数据库层⾯问题,需要对数据库占⽤的系统资源信息、数据库内核资源、主备状况等进⾏综合分析,最后确认问题根因。


       在分析单条SQL语句性能时,可以通过使⽤视图statement_history或者statement,查询语句每个阶段执⾏的时间消耗,确定语句执⾏的性能瓶颈。statement_history记录了执⾏时间超过阈值(log_min_duration_statement,默认3 s)的详细SQL信息,包含计划⽣成时间、执⾏时间、锁等待时间等信息;statement记录了SQL按照unique_sql_id归⼀化的执⾏信息,包括执⾏次数、总的执⾏时间、访问数据量、内存使⽤等信息。然后通过等待事件视图,查询阻塞会话和对象;最后通过执⾏计划,获取更细粒度的算⼦执⾏情况,如是否⾛索引、⾛正确的索引、分布式执⾏算⼦stream是否涉及⼴播等。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论