sql statements_Postgresql监控sql模块之pg_stat_statements模块--使用篇

概述

上次介绍了pg_stat_statements模块如何安装,下面主要介绍怎么用这个模块来搞事情了~


分析TOP SQL

查询pg_stat_statements视图,可以得到统计信息。SQL语句中的一些过滤条件在pg_stat_statements中会被替换成变量,减少重复显示的问题。pg_stat_statements视图包含了一些重要的信息。

例如:
1)SQL的调用次数,总的耗时,最快执行时间,最慢执行时间,平均执行时间,执行时间的方差(看出抖动),总共扫描或返回或处理了多少行;
2)shared buffer的使用情况,命中,未命中,产生脏块,驱逐脏块;
3)local buffer的使用情况,命中,未命中,产生脏块,驱逐脏块;
4)temp buffer的使用情况,读了多少脏块,驱逐脏块;
5)数据块的读写时间。


1、最耗IO SQL,单次调用最耗IO SQL TOP 5

 select userid::regrole, dbid,(blk_read_time+blk_write_time)/calls "io",query from pg_stat_statements order by (blk_read_time+blk_write_time)/calls desc limit 5; 
e7619f847da240928b83a3bd94f1d8c3

2、总最耗IO SQL TOP 5

 select userid::regrole, dbid,(blk_read_time+blk_write_time) "IO",query from pg_stat_statements order by (blk_read_time+blk_write_time) desc limit 5; 
96c47432746c4b51aeac9aa58611a0ed

3、最耗时 SQL,单次调用最耗时 SQL TOP 5

 select userid::regrole, dbid,mean_time,query from pg_stat_statements order by mean_time desc limit 5; 
adf76339959c47d08ef1ea6cae3f2bb9

4、总最耗时 SQL TOP 5

 select userid::regrole, dbid, total_time,query from pg_stat_statements order by total_time desc limit 5; 
e9f173a9f70a4addb4ddb0a19b90855c

5、响应时间抖动最严重 SQL

 select userid::regrole, dbid, stddev_time,query from pg_stat_statements order by stddev_time desc limit 5; 

6、最耗共享内存 SQL

 select userid::regrole, dbid,(shared_blks_hit+shared_blks_dirtied), query from pg_stat_statements order by (shared_blks_hit+shared_blks_dirtied) desc limit 5; 

7、最耗临时空间 SQL

 select userid::regrole, dbid,temp_blks_written,query from pg_stat_statements order by temp_blks_written desc limit 5; 
374aab38b8b8481d866641d80b1fc05d

8、重置统计信息

pg_stat_statements是累积的统计,如果要查看某个时间段的统计,需要打快照,用户也可以定期清理历史的统计信息,通过调用如下SQL

 select pg_stat_statements_reset(); 
7dc6a53c703443c9853f762dde819e5f

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

97b8a8e2ce7b43a28dfd48b6300bd5b3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值