Oracle调优,NUMA 架构和数据库的性能 |
本文标签:Oracle调优 我们大家都知道传统的 SMP 来讲,CPU的 增多不一定系统性能就会好,主要原因涉是因为共享系统的总线限制了 CPU 数量,CPU 越多内部通信量越大共享总线越容易达到瓶颈 。而NUMA架构则多少解决了这个问题,从而也是Oracle调优需要利用的特性 。 Oracle调优,NUMA架构与Intel Nehalem CPU Fenng前日去了Oracle Open World大会,回来后在博客上分享了他对于Oracle调优的一些心得总结 。 在这次的 Oracle Open World 上,Hammerora 的作者 Steve Shaw 做了一个关于 Linux 平台 Oracle调优的演讲,其中重点提到了 NUMA架构对于 Intel Nehalem CPU 上跑 Oracle 的性能影响 。 对于传统 SMP 来说,CPU 增多未必系统性能就好,因为共享系统总线的限制了 CPU 数量,CPU 越多内部通信量越大共享总线越容易达到瓶颈 。而 NUMA架构则多少缓解了这个扩展问题,其大致机理是通过给每个核提供单独的本地内存,进而提高可扩展性 。 而每个核访问本地内存和其它核上的内存时间是不一样的,所以,应用程度对于内存的访问是有比较大的讲究的 。从硬件到操作系统再到应用程序,都要支持 NUMA 才会发挥真正的处理能力 。 在这里倒是可以插入介绍一下阿姆达尔定律(Amdahls Law),这个定律指出并行处理器环境中的速度受制于程序串行的部分,也即暗示说多核未必性能就那么好 。 在 Intel 平台上,Oracle Validated RPM 包安装后将激活 NUMA 。安装的时候,当 Oracle 检测到硬件与操作系统支持 NUMA 的时候,会自动启用 NUMA 支持,Linux 在内核 2.6.9-67 以后自动支持 NUMA 。至于硬件上的开关是通过 BIOS ,如果硬件支持,则 BIOS 默认是激活(enable)该特性的 。操作系统层面的开启可以通过核心参数添加 numa=off 的方式来达到 。 从 Oracle 数据库 8i 开始支持 NUMA 特性,NUMA 在10.2.0.4 与 11.1 上是默认启用的,不过在之前的版本以及 11.2 之后默认是关闭该特性的 。在 Intel 平台上,Oracle调优中Oracle Validated RPM 包安装后将激活 NUMA 。安装的时候,当 Oracle 检测到硬件与操作系统支持 NUMA 的时候,会自动启用 NUMA 支持,Linux 在内核 2.6.9-67 以后自动支持 NUMA 。 至于硬件上的开关是通过 BIOS ,如果硬件支持,则 BIOS 默认是激活(enable)该特性的 。操作系统层面的开启可以通过核心参数添加 numa=off 的方式来达到 。 |