《2022年Oracle性能究极优化 中ORACLE教程.docx》由会员分享,可在线阅读,更多相关《2022年Oracle性能究极优化 中ORACLE教程.docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022年Oracle性能究极优化 中ORACLE教程增大 SGA 已经缓冲看来对于性能的提升并不显著,加载时间只提升了 1.73%。下面我们增加 SGA 重做日志的大小:DB3: Log BufferDatabase Block Size 2KSGA Buffer Cache 128MSGA Shared Pool 128MSGA Redo Cache 16MRedo Log Files 16MTablespaces DictionaryTPC Results Load Time (Seconds) 41.39Transactions / Second 10.088我们可以看到加载时间提升了
2、 17.35%,TPS 也提升了 9.33%。因为加载和同时插入,更新,删除须要比 8M 大的空间,但是看起来增加内存性能并没有显著提升,我们加大块大小:DB4: 4K BlockDatabase Block Size 4KSGA Buffer Cache 128MSGA Shared Pool 128MSGA Redo Cache 16MRedo Log Files 16MTablespaces DictionaryTPC Results Load Time (Seconds) 17.35Transactions / Second 10.179我们看到加载时间提升了 138%!而对 TPS
3、值没有很大的影响。下面一个简洁的念头是表空间的管理从书目切换为本地:DB5: Local TablespacesDatabase Block Size 4KSGA Buffer Cache 128MSGA Shared Pool 128MSGA Redo Cache 16MRedo Log Files 16MTablespaces LocalTPC Results Load Time (Seconds) 15.07Transactions / Second 10.425下面我们把数据库块加大到 8K 来看结果:DB6: 8K BlockDatabase Block Size 8KSGA Buf
4、fer Cache 128MSGA Shared Pool 128MSGA Redo Cache 16MRedo Log Files 16MTablespaces LocalTPC Results Load Time (Seconds) 11.42Transactions / Second 10.683看来结果并不坏,我们没有理由接着增加块大小了,我们还没有依据 CPU 个数调整相应的参数,这次我们设置 I/O 的进程数来接着调整:DB7: I/O SlavesDatabase Block Size 8KSGA Buffer Cache 128MSGA Shared Pool 128MSGA
5、Redo Cache 16MRedo Log Files 16MTablespaces Localdbwr_io_slaves 4lgwr_io_slaves (derived) 4TPC ResultsLoad Time (Seconds) 10.48Transactions / Second 10.717我们的测试是基于 Red Hat 6.2 进行的,内核版本为 2.2.14-5 smp。对于 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/semOS1: 单内核和 IPCTPC ResultsLoad Time (Seconds) 9.54Transactions / Second 11.511
限制150内