数据库变慢了的分析及解决办法

简介:         我们在日常的管理中, 经常会碰到客户或开发人员反应速度变慢了. 这一类问题常使初级DBA摸不着头脑, 还不如数据库直接报出某个错误, 更直接了当. 下面简单描述一下, 解决这类问题时的一般思路.
        我们在日常的管理中, 经常会碰到客户或开发人员反应速度变慢了. 这一类问题常使初级DBA摸不着头脑, 还不如数据库直接报出某个错误, 更直接了当. 下面简单描述一下, 解决这类问题时的一般思路.
        如果有人反应速度变慢了, 最有可能影响速度的, 无外乎CPU, 内存和I/O. 在操作系统下,我们可以先使用top命令, 查看一下CPU的占用情况. 在top的输出结果中, 特别要注意第一行中的load average, CPU的负载情况. 如果这里显示的数字大于CPU数, 说明CPU的负载有点高了. 再结合第三行一起看, 如果第三行中, CPU的空闲比例为0, 就说明CPU存在争用. 正常情况下, CPU应该有一定的空闲才好. 如果这里显示空闲为0, 争用CPU的不一定都是Oracle的进程. top的下面显示的进程的列表, 只需看一下占用CPU高的进程是否是Oracle相关的进程, 即可确认此点. 如果运气好, 或许可以直接发现某个进程占用了过多的CPU. 如果将问题定位到了某个进程, 对进一步解决问题, 有很大的帮助.
         但, 大多数时候, CPU的争用已经很高了, 但是在进程列表中, 发现不了某些进程占用过高的CPU. 这时要定位问题, 可能要复杂一些. 我们可以进入Oracle, 查看v$sqlarea或等待事件. 在v$sqlarea视图中, Elapsed_time和CPU_time对了解每条SQL声明的CPU占用情况最有帮助. 其中CPU_TIME是执行SQL声明所耗用的CPU时间. Elapsed_time除实际耗用的CPU时间外, 还要加上等待时间.
        如果观察V$SQLAREA没有发现特别耗用CPU的SQL声明. 可以在Statspace报告中对比一下正常时期的数据, 观察一下看有没有某条语句的CPU时间, 执行次数出现异常的变化. 有时, 或许有些SQL的CPU占用不高, 但执行次数却非常的高, 这也可能会成为造成CPU争用的原凶. 解决问题时, 将问题定位的某个确定的地方, 是解决问题的第一步. 这里, 如果可以将问题定位到某条确定的SQL, 距真正的解决问题, 就向前迈了一大步. 关于SQL声明的调优, 可是个大问题, 这篇短短的文章很难表述清楚, 我们到以后的系列实验中再讨论. ITPUB个人空间1i)N(m
目录
相关文章
|
3天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
104 0
|
3天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(备份+恢复篇)(二)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(备份+恢复篇)
60 1
|
3天前
|
存储 人工智能 NoSQL
现代数据库技术演进与应用前景分析
本文探讨了现代数据库技术的演进历程及其在各领域的应用前景。首先介绍了传统数据库的局限性,随后分析了NoSQL、NewSQL以及分布式数据库等新兴技术的特点和优势。接着探讨了人工智能、物联网、大数据等领域对数据库技术提出的新要求,并展望了未来数据库技术的发展趋势与应用前景。
|
3天前
|
分布式计算 Java 关系型数据库
|
3天前
|
存储 搜索推荐 数据库
如何选择合适的矢量数据库:选型指南与案例分析
【4月更文挑战第30天】面对众多矢量数据库,如何选择合适的?本文提供了一份选型指南和案例分析。首先,明确业务需求,如推荐系统、图像检索等场景的不同需求;其次,评估数据量,大型项目需选择支持分布式架构的数据库;再者,关注查询性能、技术成熟度和成本。案例中,电商企业选用Faiss实现高效推荐,而互联网公司则因大规模图像检索选择了Milvus,后者以其扩展性和准确性脱颖而出。选择矢量数据库需综合考虑,结合实际以找到最佳匹配。
|
3天前
|
存储 NoSQL 容灾
数据库非功能需求分析
本文探讨了业务研发在技术设计中如何满足非功能需求,重点关注数据库系统的角色。内容涵盖数据库的可用性、可靠性、性能、可修改性、安全性及成本。文章强调了根据业务场景选择合适的数据类型(如关系型、非关系型、内存型、图数据库和时间序列数据库)以及考虑数据容量和增长速度。对于性能需求,讨论了响应时间、吞吐量和并发处理能力。此外,还提到了升级路径、兼容性、备份方案和成本控制(硬件、软件和人力成本)在数据库管理中的重要性。
35 0
|
3天前
|
缓存 网络协议 关系型数据库
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(系统底层优化篇)(二)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(系统底层优化篇)
37 0
|
3天前
|
存储 固态存储 关系型数据库
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(系统底层优化篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(系统底层优化篇)
45 1
|
3天前
|
关系型数据库 MySQL Shell
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)(二)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)
24 0
|
3天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)
34 0