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

PostgreSQL SQL时快时慢, 怎么排查?

digoal 2020-08-26
1823

作者

digoal

日期

2020-08-26

标签

PostgreSQL , 优化


背景

德哥,请教一下问题:PG库碰到有时慢的情况(select count(主键列)from 表名) 要5分钟才出结果,数据量有1500W左右,现在想获取慢的时侯具体信息,您之前写的blog中有介绍这一块的内容吗?如果有,关键词是什么?

回复:

可能是计划、资源、锁、脏数据等相关的问题

特别是io,或者并行计算时的cpu资源。极少的可能是锁冲突

auto explain 开起来跟踪一下(包括执行计划、io timing等)

数据库优化的部分有讲过:

《2019-PostgreSQL 2天体系化培训 - 视频每周更新》

《PostgreSQL 函数调试、诊断、优化 & auto_explain & plprofiler》

auto_explain只能跟踪到单一sql, 如果要看当时执行过程中的环境问题, 可以结合perf insight的方法来看, 间歇性采集会话状态的信息.

《PostgreSQL 活跃会话历史记录插件 - pgsentinel 类似performance insight》

《PostgreSQL Oracle 兼容性之 - performance insight - AWS performance insight 理念与实现解读 - 珍藏级》

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

文章转载自digoal,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论