程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle調優,NUMA 架構和數據庫的性能

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 才會發揮真正的處理能力。

在這裡倒是可以插入介紹一下阿姆達爾定律(Amdahl's Law),這個定律指出並行處理器環境中的速度受制於程序串行的部分,也即暗示說多核未必性能就那麼好。

對一個 DBA 來說,Intel 的 Nehalem CPU (右圖為結構示意圖)最值得關注的特性當屬 NUMA (Non-Uniform Memory Access) 架構方面的改進。 從 Oracle 數據庫 8i 開始支持 NUMA 特性,NUMA 在10.2.0.4 與 11.1 上是默認啟用的,不過在之前的版本以及 11.2 之後默認是關閉該特性的。

在 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 的方式來達到。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved