精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● Linux>>有待整理文章>>Oracle性能究极优化2

主题:Oracle性能究极优化2
发信人: r_hayes(Hayes)
整理人: qiaoqian(2002-05-13 06:53:33), 站内信件
    我们可以看到加载时间提升了 17.35%,TPS 也提升了 9.33%。因为加载和同时插入,更新,删除需要比 8M 大的空间,但是看起来增加内存性能并没有显著提升,我们加大块大小: 


DB4: 4K Block 


Database Block Size 4K 

SGA Buffer Cache 128M 

SGA Shared Pool 128M 

SGA Redo Cache 16M 

Redo Log Files 16M 

Tablespaces Dictionary 



TPC Results Load Time (Seconds) 17.35 

Transactions / Second 10.179 



我们看到加载时间提升了 138%!而对 TPS 值没有很大的影响。下面一个简单的念头是表空间的管理从目录切换为本地: 


DB5: Local Tablespaces 


Database Block Size 4K 

SGA Buffer Cache 128M 

SGA Shared Pool 128M 

SGA Redo Cache 16M 

Redo Log Files 16M 

Tablespaces Local 


TPC Results Load Time (Seconds) 15.07 

Transactions / Second 10.425 


下面我们把数据库块加大到 8K 来看结果: 


DB6: 8K Block 


Database Block Size 8K 

SGA Buffer Cache 128M 

SGA Shared Pool 128M 

SGA Redo Cache 16M 

Redo Log Files 16M 

Tablespaces Local 


TPC Results Load Time (Seconds) 11.42 

Transactions / Second 10.683 


看来结果并不坏,我们没有理由继续增加块大小了,我们还没有根据 CPU 个数调整相应的参数,这次我们设置 I/O 的进程数来继续调整: 


DB7: I/O Slaves 


Database Block Size 8K 

SGA Buffer Cache 128M 

SGA Shared Pool 128M 

SGA Redo Cache 16M 

Redo Log Files 16M 

Tablespaces Local 

dbwr_io_slaves 4 

lgwr_io_slaves (derived) 4 


TPC Results 


Load Time (Seconds) 10.48 

Transactions / Second 10.717 



我们的测试是基于 Red Hat 6.2 进行的,内核版本为 2.2.14-5smp。对于 Linux 的内核而言,有将近几百个参数可以调整,包括对 CPU 类型,SMP 支持,APIC 支持,DMA 支持,IDE DMA 缺省参数的使用以磁盘限额支持。根据 Oracle 的文档,我们要做的主要调整是共享内存和信号量的大小,SHMMAX 最少配置 0x13000000,SEMMNI, SEMMSL 和 SEMOPN 分别至少设置 100, 512, 100。这些参数的设置可以通过下面的命令实现: 


# echo 0x13000000 >/proc/sys/kernel/shmmax 

# echo 512 32000 100 100 >/proc/sys/kernel/sem 



OS1: 单内核和 IPC 


TPC Results 

Load Time (Seconds) 9.54 

Transactions / Second 11.511 



我们有理由相信采用新的内核版本(2.2.16-3smp)也应该有性能的提升: 


OS2: Newer minor version kernel TPC Results 

Load Time (Seconds) 9.40 

Transactions / Second 11.522 



目前已经有 2.4 版本的内核,和 2.2 相比,性能上有了很大的提升,我们采用 2.4.1smp: 


OS3: Newer major version kernel TPC Results 

Load Time (Seconds) 8.32 

Transactions / Second 12.815 



Linux 缺省读操作时更新最后一次读的时间,但是这个对我们来说并不重要,因此我们关闭这个选项,通过设置 noatime 的文件属性来实现。(对于 Win NT 和 2000 有相似的设置) 
  

 



----

                    灌灌 
                    灌灌 
                    灌灌 
                    灌灌          灌灌 
                    灌灌      灌灌灌 
    灌灌灌灌灌灌灌  灌灌  灌灌灌 
      灌灌灌灌灌灌灌灌灌灌灌灌 
                灌灌灌灌灌灌 
               灌灌灌灌灌灌灌  
              灌灌  灌灌  灌灌 
             灌灌   灌灌    灌灌 
            灌灌    灌灌      灌灌 
          灌灌      灌灌      灌灌灌 
          灌灌      灌灌        灌灌灌灌 
        灌灌        灌灌        灌灌灌灌灌 
      灌灌          灌灌          灌灌灌灌灌  
    灌灌            灌灌            灌灌 
                灌灌灌灌 
                  灌灌灌 
                    灌    

[关闭][返回]