计算机系统应用教程网站

网站首页 > 技术文章 正文

Oracle性能优化的基本方法

btikc 2024-08-31 17:11:22 技术文章 13 ℃ 0 评论

Oracle性能优化的基本方法

在实际生产应用的过程当中,虽然引起Oracle数据库性能降低或故障的原因千千万万,但是如何进行诊断和解决的都有一定的规律可循,常见的方法大概有建立数据库性能基准线、寻找关键变化、定位最主要的影响因素、查看服务器硬件和系统的使用情况。下面说说寻找数据库性能基准线的方法和好处。

数据库性能基准线

数据库性能基准线指的是数据库在正常运行时,服务器的各项指标所处的位置,主要包括主机资源和数据库资源的消耗情况,所以数据库性能的优化都要建立在基准线之上。但是在现实生产环境中,由于业务周期在不同阶段,应该采取不同的基准线。比如:正常活动水平、较低活动水平、一天当中最忙时间、夜间处理批任务(脚本、job等)、商业周期的每月或每季度结束等,在不同的时间段,主机和数据库的资源使用的情况是不一样的。

所以对于DBA来说,要熟悉数据库正常运行时的节奏,这样在进行数据库性能优化时才会有明确的指导方向。通常,分析性能问题时最考验DBA的是在第一次出现问题时就能使用正确的诊断工具进行恰当的跟踪并分析结果,而这并不是总能够实现的。所以在数据库性能出现问题之前,就应该收集性能基准线,为分析性能故障做好准备。

有了基线,可能就不会浪费力气去优化看起来需要优化而实际却对数据库影响不大的组件了。比如某系统经常出现莫名的死锁问题。如果没有基线,那么在进行性能优化时很可能会朝着改写业务程序的方向出发。但如果有基线,只要将现在的系统状态和基线-一比较,就能快速且准确地发现死锁并不是性能变坏的根本原因,很有可能是由其他因素引起的。比如由于存储性能的下降导致了SQL执行时间变长,进而加大了死锁发生的概率。


一般来说,数据库性能基线又分技术基线和感官基线两种:

1、技术基线:主要指的是数字指标。通常由操作系统资源(CPU、内存、I/O、 网络等)、并发性资源(系统解析数、事务数、归档量等)、TOP SESSION、TOP EVENT、TOP SQL组成。简单来说,操作系统资源情况加AWR/STATSPACK报告就可以构成一份相对完整的技术基线。

2、感官基线:主要指的是人为感觉。比如在前端单击业务按钮正常的情况下应该在多少时间内返回结果,客户在使用系统时反馈某一个业务模块是否流畅。


总结:

类似地,数据库性能优化的成果也可以用两种方式表示:一种是技术成果,通常用反映数据库性能的统计值来直观地表示数据库性能的状态。另外种是用户体验,通常以用户的使用感觉来表示数据库性能的状态。及时听取用户的反馈比追求性能指标更为重要。在性能优化时,只要达到了用户的要求就能终止优化,而不是反复优化。需要注意的是,由于要考虑优化成本收益比,任何优化都只是针对目前系统状态的一种资源重组,都不可能是绝对彻底的优化。然后有的人喜欢过分优化或者重复性的进行优化工作。殊不知,这不仅会使优化成本越来越高,而且,任何一个优化动作都可能导致数据库的不稳定。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表