解决数据库慢的方法论

数据库慢一般有三种情况:
1.逐渐变慢
2.然变慢
3.不定时变慢

第一种情况 “逐渐变慢”,要建立一个长期的监控机制。比如,写脚本每天的忙时定时收集os,network,database的信息, 每个星期出report,对收集到的信息进行分析。 这些数据的积累,可以决定后期的优化决策,并且可以是DBA说服MANAGER采用自己决策的重要数据。DBA的价值,就在每个星期的report中体现。

第二种情况 “突然变慢”,也是最容易解决的。先从业务的角度看是database的使用跟以前有何不同,然后做进一步判断。硬件网络故障通常也会引起database性能的突然下降。

第一步:察看database/os/network的系统日志,排除硬件网络问题。

第二步:察看数据库的等待事件,根据等待事件来判断可能出问题的环节。如果没有等待事件,可以排除数据库的问题。如果有等待时间,根据不同的等待事件,来找引起这些事件的根源。

比如latch等跟sql parse有关系的等待事件,os的表现是cpu的占用率高
db file scattered read等跟sql disk read有关的等待时间,os的表现是iostat可以看到磁盘读写量增加

第三步:察看os的信息,cpu/io/memory等
(1)cpu的占用率
cpu占用率与数据库性能不成反比。cpu占用率高,不能说明数据库性能慢。通常情况,一个优化很好,而且业务量确实很大的数据库,cpu占用率都会高,而且会平均分布在每个进程上。反过来,cpu的占用率高也不代表数据库性能就好,可能cpu没有用到该用的地方,要

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A Master

您的鼓励是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值