利用postgres默认数据库监控工具定位数据库压力问题

        前期对postgresql了解甚少,几乎一无所知,直到在项目上遇到了一个问题。

        首先,客户反应管理界面有时快有时慢,用着用着就慢了。

        然后,经过反复测试,发现首次登陆的时候访问页面很慢,过一会会很快,再过一会,可能又变慢了。慢的时候,top看到cpu wait特别高,很多Postgres进程在查询。

        但由于对postgresql不熟,所以不知道自怎么去监测到是哪些查询慢,反复找资料,想找到精确监控postgresl数据库的工具,能显示出所有的查询和消耗的时间,但一时也没有找到,最后看到了Postgres的官方手册,这手册非常适合postgres初学者,看了之后基本上对postgres有些了解,也可以使用一些监控手段。

       首先,因为客户环境登陆时反应慢,那么我们就在登陆的时候通过不断的查询pg_stat_activity表,这个表会显示最近对数据库的查询记录(postgres 9.2版本), 奇迹出现了,我们很快看到当用户登陆时,会一直在查询事件表,手工查询测下速度,发现非常慢,里面有700万条数据,而且肯定是零碎的,在磁盘中的位置应该不是连续的,这样导致了登陆时查询日志消耗了大量的IO。

        就这样,不用利用精确的工具,我们通过postgres自带的收集器,也能对一些问题进行定位,不至于束手无策。里面还有很多好的工具,值得使用postgresql的人员读一读。


参考资料: postgres 中文手册

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值