通过持续的调优工作和监测可以找到运行中应用程序的最佳值。此时,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
使用数据库的系统绝大多数为以磁盘为主的操作。如果磁盘出现瓶颈现象,会发生整体性能问题。在这种情况下,多数是因为%idle剩余过多而导致CPU性能变慢,此时使用中的CPU大部分被%wio占用。构建系统之前,要用分条等结构分散方法适当地分散磁盘构成,检查因持续监测而出现较多I/O的磁盘,并重新配置数据库的主要运行文件,以便分散I/O。为满足使用用途和可用性,使用RAID构成磁盘的情况较多,此时要按各个RAID的性质以及数据文件的性质进行配置。即写入较多的重做日志文件(redo log file)、回滚(rollback)表空间、临时(temporary)表空间等数据文件要避免用RAID 5构成的设备,应放置在由RAID1,0等构成的设备上。检查系统I/O性能的方法如图1-7所示,可参考sar-d或 iostat等各个平台的指令。
如图1-7所示,监测结果中的%busy值超过40时可判定设备出现瓶颈现象。如果该设备与其他设备使用不均衡时,要将该设备上访问较多的数据文件移至有剩余空间的设备上。上述例子显示sd1为busy(87%)。经过分析来看,每秒有 129件事务,1091次成块传输。
图1-7 磁盘I/O瓶颈现象调查
最理想的I/O应用就是所有控制器相应的设备都得以均衡使用。
图1-8和图1-9所示为在Sun Solaris设备中找出正在使用设备的方法。结果显示正在使用的是sdl设备,因此在/dev目录下调查。
图1-8 查找瓶颈设备(www.chuimin.cn)
图1-9 查找挂载点
设备信息(/dev/ls-l)和挂载点为‘/oracle’, Oracle数据文件集聚在‘/oracle’中,该设备由此出现I/O瓶颈现象。此时还可以参考Oracle内数据文件的读取、写入情况。图1-10所示为调查Oracle数据库内文件的I/O的SQL。
图1-10 调查Oracle数据库内文件
通过上述分析结果,可采取的措施包括:将 /oracle上数据文件的一部分移至有其他控制器的挂载点,通过移动 RBS、TEMP、USERS中一两个数据文件使 I/O平衡并分散。该操作非一次性操作,分配一次后要重新进行监测,确定 I/O是否分散均衡。如果需要再次配置,则要反复进行再配置及优化操作。
有关数据库性能管理与调优的文章
通过持续的调优工作和监测可以找到运行中应用程序的最佳值。此时,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
实例已启动意味着数据库系统运行所需的后台进程已启动,并且处于“确保内存可用于数据处理”的状态,这种实例的调优将成为DBMS性能调优的重要基础。1) DBMS 内存 区域——SGASGA 是作为实例启动时确保控制器信息保存和数据处理空间的内存区域,存在于实例访问的所有进程共享的内存区域中。SGA相关调优的基准基本以命中率评价为主,通过适当地调整相关参数,将实际运行反映到评价结果中。......
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
系统调优大致分为硬件系统结构和 O/S、DBMS、应用程序等三个层次,各层次之间具有密切的关联性。以下原则性的DBMS性能调优步骤可以达到最佳效果。虽然该内容基于若干Oracle DBMS,但其实并不需要考虑具体的DBMS制造商。DBMS的内存分配量要在不引起分页和交换的范围内调整。在 DBMS性能调优的具体对象中,instance、storage management、数据 I/O、SQL access等是最重要的部分。对于Oracle DBMS,可通过v $sysstat、v $sqlarea等性能视图,收集用于性能评价的DB分析信息。......
2023-11-01
统计信息中保存有列选择度、数据量等大量信息,因此基于规则的优化器可以更灵活地创建执行计划。extent是由相关联的数据块构成的逻辑单位。否则,会因表的random access造成表扫描的平均成本增高。排序操作成本并非用于访问对象数据的成本,而是用于排序已提取数据的成本。若使用以特定列为标准排序的索引提取数据时,可以减少额外的排序操作成本。要了解SQL语句实际应访问的对象范围程度才能计算实际成本,这是非常重要的概念。......
2023-11-01
而重中之重仍然是调优访问数据库SQL语句的方法,因为很少能像SQL调优这样可以在短时间内以低成本得到效果。因此,为了性能考虑,开发者应不遗余力地投入时间和精力进行SQL调优。如果对未优化的SQL进行调优,则计划增设容量的许多企业都无须执行容量增设。大量数据排序的SQL或者大量访问数据块的未优化的SQL,可能会过量地使用内存。就因为这种现象,才会因未优化的SQL而出现磁盘I/O增加的情况。SQL的优化过程必然也涉及索引的优化。......
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
相关推荐