会计考友 发表于 2012-8-4 13:41:06

Oracle认证:Oracle9i在AIX上的性能调整解析

内存访谒的冲突呈此刻当历程申请的内存跨越系统的物理内存总量时,为了措置这种情形,系统将轨范与数据在内存和硬盘间进行交流。

  节制内存交流操作(Paging)
  年夜量的内存交流操作会极年夜地影响系统的机能,尤其是在当数据库文件建树在文件系统上时(JFS and JFS2)。在这种情形下经常访谒的数据,即在SGA中存在,也同样在文件的缓存中存在。这种不异的数据在内存中缓存两次的情形,会降低内存的使用效率,年夜而使内存频仍进行交流操作,造成系统的I/O瓶颈,降低整个系统的机能。

  调整AIX尚罾υ件缓存
  在AIX上,可以经由过程vmtune呼吁中的MINPERM和MAXPERM参数,调整系统文件缓存来节制内存交流操作,MINPERM和MAXPERM参数的调整应遵循以下的原则:

  当内存中的文件缓存页在MINPERM以下时,内存页交流算法同时交流文件缓存页和轨范页(computational pages)。

  当内存中的文件缓存页在MAXPERM以上时,内存页交流算法只交流文件缓存页。

  当内存中的文件缓存页在MINPERM和MAXPERM之间时,内存页交流算法凡是只交流文件缓存页,但如不美观文件缓存页的交流率年夜于轨范页时,轨范页也同样被交流。

  MINPERM和MAXPERM参数的缺省值:
  MINPERM = ((number of memory page) - 1024)*0.2
  MAXPERM = ((number of memory page) - 1024)*0.8

  可以用以下呼吁将MINPERM设为5%的内存页,而MAXPERM设为20%的内存页。
  # vmtune -p 5 -P 20   缺省值分袂为20%和80%。

  在Oracle数据库应用的情形下,可以将MINPERM和MAXPERM分袂设为5%和20%甚至更小,年夜而使内存更多地被用于Oracle的SGA而不是系统的文件缓存。
 设置装备摆设足够的交流区
  如不美观交流区空间不足会造成系统响应速度变慢甚至挂起,交流区的巨细取决于系统内存的巨细以及应用轨范对内存的需求。在AIX上可以动态增添交流区,也可以用lsps呼吁察看交流区的使用状况,以及用vmstat看管系统内存页交流的操作。

  凡是交流区的巨细需要年夜于系统的现实内存,这首要取决于应用轨范对内存的需求。用户需要看管交流区的使用状况,按照需要增添交流区的空间。对于运行Oracle Application或Oracle development tools可能需要较年夜的交流空间。

  排定内存需求优先级
  如不美观系统的内存不足,就需要对历程对内存使用的优先级进行排序,将内存优先分配给能获得更好的系统总体机能的历程。凡是的挨次如下:

  1. AIX和Oracle的焦点历程
  2. 应用轨范历程
  3. Oracle的Redo log buffer
  4. PGA和共享池(shared pool)
  5. Oracle的数据缓存(block buffer cache)

  例如:当你发芽Oracle的动态机能表时发现共享池(shared pool)和数据缓存区(block buffer cache)都需要设置装备摆设更多地内存,而你的系统中的余暇内存有限,那么将余暇内存分配给共享池比分配给数据缓存区有更好的效不美观。

  数据块(Database block)的巨细
  用户可以选择Oracle数据库中数据块的巨细以获得更好的机能,在AIX上经由过程设置DB_BLOCK_SIZE初始化参数,选择年夜2KB到32KB的数据块,缺省值是4KB。如不美观数据文件在文件系统上,则Oracle数据块的巨细应为文件系统数据块4KB的整倍数。如不美观数据文件在系统裸设备上,则Oracle数据块的巨细应为系统数据块512B的整倍数。

  Oracle公司举荐,对于在线生意的应用(OLTP)或同化型的应用情形,采用2KB或4KB的数据块。对于BI的应用或抉择妄想撑持系统(DSS),采用更年夜的数据块,如8KB,16KB或32KB。

  调全日志归档缓存(Log Archive Buffers)
  设置装备摆设较年夜的缓存可以提高数据库日志归档的速度,但注重不要对折个系统的机能发生影响。用户可以将LOG_ARCHIVE_BUFFER_SIZE增添到128KB (其缺省值为4KB),会提高0-20%的数据库归档操作的机能。

  调整SGA的巨细
  对于Oracle SGA来说,被系统的内存打点轨范换出到交流区上,必定是用户最不愿定见到的情形,这就需要系统设置装备摆设有足够的内存。对于年夜量用户同时在线的应用,建议设置装备摆设较年夜的SGA区。对于SGA影响最年夜的参数是DB_BLOCK_BUFFERS和SHARED_POOL_SIZE。增年夜这两个参数,取决于用户但愿分配给SGA内存的巨细,同时,增年夜这两个参数也会造成CPU的操作率提高。

  小结
  合理的内存设置装备摆设,是Oracle数据库机能调整的主要方面,其根柢的方针是,首先尽量避免系统内存页的交流操作,然后尽量将应用轨范经常用到的数据缓存在系统的SGA区中。
页: [1]
查看完整版本: Oracle认证:Oracle9i在AIX上的性能调整解析