通过持续的调优工作和监测可以找到运行中应用程序的最佳值。此时,UNIX内核的内存不易减少,需要有效地调优数据库内存区域,使用更少内存发挥相同水平的性能。如果内核内存使用约100 MB,并发用户为30名,每个Oracle进程的内存为 10 MB,假定 sort_area_size为 1MB,按以下公式计算出430 MB。100 MB+30×=430 MB因此,物理内存为1 GB的系统,可分配大约600 MB的SGA使用。......
2023-11-01
相比停留在单纯构建和运行数据库系统本身的基础水平,目前已进入到将提高系统性能作为操作目标的时代。在复合的硬件系统构成、多种业务类型并存、管理对象数据大容量化的运行环境下,达到适合的性能并不简单,并非每个人都可以做到。
虽然从数据库的初始构建和设计阶段就要开始考虑性能方面并非易事,但是未有效构建的系统的性能在运行阶段很难加以改善是不争的事实。而且要谨记,构建数据库系统时,从设计阶段到物理结构、数据库、应用程序等,在每个部分均考虑到性能方面的策略问题是达到预期性能的唯一途径。电算系统中性能调优方面的访问需要的是着眼于整个系统的视角和经验性知识。如果以局部视角和知识进行调优,可能会对整体系统的性能造成不良影响。系统调优大致分为硬件系统结构和 O/S、DBMS、应用程序等三个层次,各层次之间具有密切的关联性。因此在执行性能调优时,不能偏重某一层次,要充分考虑各层次之间的相互关联性才能做到恰当的调优。以下原则性的DBMS性能调优步骤可以达到最佳效果。虽然该内容基于若干Oracle DBMS,但其实并不需要考虑具体的DBMS制造商。
1)第 1阶段:业务规则调优
为保证最佳性能,必须适当地调整业务规则,以整个系统的高水平分析和设计为基础。
实际上,DBA面临的性能问题是由于实际设计和具体操作或是不适当的业务规则引起的。因此,业务规则要以了解众多并发用户存在的环境为基础,考虑现实的期待值。
2)第 2阶段:数据设计调优
在数据设计阶段,需要准确了解要实现的应用程序所需的数据是什么。此外,还要仔细了解哪种关系重要、哪些属性存在。在此基础上,为达到最佳性能,需要数据结构化处理。还需要进行范式和非范式处理来改善性能,并且需要最大限度地避免数据争用的构成。
(1) partitioning in HA (instance、application、data、time等 )。
(2)使用 data partition & local、global index。
3)第3阶段:应用程序设计调优
要按业务实现目标有效分配各个进程,即使是访问同一系统的环境下,也可根据实现目标进行不同设计。
4)第 4阶段:数据库的逻辑结构调优
应用程序和系统设计完成后,此阶段的核心是为保证数据访问性能,调优索引设计。
5)第 5阶段:数据库访问方式的调优
为保证最佳的系统性能,更好地利用SQL的优点和应用程序处理,应验证所实现数据库的功能是否充分应用:array processing; optimizer; PL/SQL; row-level lock manager。
6)第 6阶段:访问路径调优(www.chuimin.cn)
为有效地进行数据访 问,考虑使用 B* 树 indexes、bitmap indexes、clusters、hash clusters等。此外,为在应用程序测试阶段达到所期望的响应速度,不仅要考虑增减索引,还要考虑改善设计。
7)第 7阶段:内存运行调优
通过有效分配内存资源、改善缓存性能并减少SQL语句的解析操作,以便对性能改善产生积极的效果。DBMS的内存分配量要在不引起分页和交换的范围内调整。包括:dictionary cache; library cache; context areas (MTS ) ; data buffer cache; log buffer;sequence caches; sort areas; hash areas。
8)第8阶段:物理结构和 I/O调优
磁盘I/O的性能是降低应用程序性能的主要原因,因此要按以下步骤调优I/O和物理结构:
(1)分散数据到磁盘以减少 I/O争用;
(2)用于最佳访问的数据块运行(freelists、pctfree、pctused) ;
(3)防止引发表的活性区段(有效管理NEXT option) ;
(4) raw device使用研究 。
9)第 9阶段:资源争用调优
在多数用户同时访问相同资源所需运行环境下,虽然不可避免地会引发资源争用,但要不断努力减少 以下争用形态:block contention; shared pool contention; lock contention; pinging(OPS&RAC environment) ; latch contention。
10)第 10阶段:硬件系统特定部分调优
要寻找正在使用中的系统平台特定部分的调优方案,包括:UNIX buffer cache大小;LVM (logical volume manager) ; memory (process)。
在 DBMS性能调优的具体对象中,instance、storage management、数据 I/O、SQL access等是最重要的部分。此外,在物理硬件系统的结构和数据库构成、应用程序等所有部分中,分区的好坏程度将影响达成预期性能的程度。
所有部分中,性能调优的重点是如何减少因同一时段发生的大部分事务而引发的资源争用负载。对于Oracle DBMS,可通过v $sysstat、v $sqlarea等性能视图,收集用于性能评价的DB分析信息。
有关数据库性能管理与调优的文章
通过持续的调优工作和监测可以找到运行中应用程序的最佳值。此时,UNIX内核的内存不易减少,需要有效地调优数据库内存区域,使用更少内存发挥相同水平的性能。如果内核内存使用约100 MB,并发用户为30名,每个Oracle进程的内存为 10 MB,假定 sort_area_size为 1MB,按以下公式计算出430 MB。100 MB+30×=430 MB因此,物理内存为1 GB的系统,可分配大约600 MB的SGA使用。......
2023-11-01
图1-7磁盘I/O瓶颈现象调查最理想的I/O应用就是所有控制器相应的设备都得以均衡使用。图1-10所示为调查Oracle数据库内文件的I/O的SQL。图1-10调查Oracle数据库内文件通过上述分析结果,可采取的措施包括:将 /oracle上数据文件的一部分移至有其他控制器的挂载点,通过移动 RBS、TEMP、USERS中一两个数据文件使 I/O平衡并分散。该操作非一次性操作,分配一次后要重新进行监测,确定 I/O是否分散均衡。......
2023-11-01
SORT MERGE JOIN指各自访问两侧表的处理范围后逐一扫描排序结果,同时使用连接条件进行合并的方式。通过SORT MERGE JOIN引导调优的情况几乎不存在,但可能对减少RANDOM ACCESS、大容量处理对象集有效。以下将介绍SORT MERGE JOIN的其他特征以及能保证良好性能的情形。通常NESTED LOOP JOIN对待处理数据量较少的在线应用程序更为有效,因此请勿随意使用SORT MERGE JOIN。......
2023-11-01
HASH JOIN是突出SORT MERGE JOIN优点并弥补其缺点的连接方法。该连接是对连接的对象表应用 HASH函数进行合并的方法。其特征是不仅只使用 HASH JOIN,而且提供通过并行处理大容量数据的最佳解决方案。但不建议在OLTP等状况下使用,因为HASH JOIN已为大容量处理进行优化,会占用大量系统资源。不会受JOIN条件(链路)索引有无的影响。2)使用标准由于链路使用HASH Key,因此仅用于EQUI-JOIN。在执行计划中成为HASHING对象的表始终在最前面,但如果是OUTER JOIN则完全相反。......
2023-11-01
实例已启动意味着数据库系统运行所需的后台进程已启动,并且处于“确保内存可用于数据处理”的状态,这种实例的调优将成为DBMS性能调优的重要基础。1) DBMS 内存 区域——SGASGA 是作为实例启动时确保控制器信息保存和数据处理空间的内存区域,存在于实例访问的所有进程共享的内存区域中。SGA相关调优的基准基本以命中率评价为主,通过适当地调整相关参数,将实际运行反映到评价结果中。......
2023-11-01
1)例子(一)正确使用SQL的例子(一)如图5-12所示。因此B.ORDD = : TrDay或B.ORDD = : WorkDay的扫描范围较窄,使用索引时响应速度非常快。在这种情况下,优化器使用OR从内部分为两个SQL语句并各自使用索引,再将执行结果合并为一个结果。图5-13正确使用SQL的例子(二)问题:连接的两个表的条件中决定扫描范围的条件是"AND SUBSTR LIKE : IN_org_cd AND SUBSTR < 600000"。因此可按以下方法变更条件公式并使用相应索引。......
2023-11-01
为根据不同情况使用适当的索引,要学习各种类型的索引。因为只有明确了解表和索引的概念才能轻松解决复杂的内容。创建索引抽屉时,应考虑偶有发生的损益分歧点,考虑是否创建。总体来说,索引是用户使用SQL语句查找时为提高查找速度而创建的对象。但若创建太多索引,购买新书或废弃时,会产生额外的维护费用。这是由于添加或删除书籍时应更新现有的索引抽屉。......
2023-11-01
在制定由优化器执行的SQL语句的执行计划过程中,提示为用户提供了可直接进行介入的方法。提示是用户对优化器下达的指示,但优化器可能会忽略不合理的提示。意味着除了RULE和DRIVING_SITE外的所有提示将选择CBO用作优化器。使用Orange Template Browser查看优化器提示如图2-8所示。图2-8Orange Template Browser查看优化器提示单击方框部分图标()、单击最顶端菜单的[View]—[Template Browser]或按快捷键 Alt+F2则会运行[Template Browser]。......
2023-11-01
相关推荐