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

Oracle性能究極優化 下

編輯:關於Oracle數據庫
正在看的ORACLE教程是:Oracle性能究極優化 下。  我們有理由相信采用新的內核版本(2.2.16-3 smp)也應該有性能的提升:

  OS2: Newer minor version kernel TPC Results
  Load Time (Seconds) 9.40
  Transactions / Second 11.522

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

  OS3: Newer major version kernel TPC Results
  Load Time (Seconds) 8.32
  Transactions / Second 12.815

  Linux 缺省讀操作時更新最後一次讀的時間,但是這個對我們來說並不重要,因此我們關閉這個選項,通過設置 noatime 的文件屬性來實現。(對於 Windows NT 和 2000 有相似的設置)

  如果只是相對 Oracle 的數據文件設置,我們的命令是

  chattr +A file_name

  對整個目錄的實施辦法:chattr -R +A directory_name

  最好的辦法是修改 /etc/fstab ,針對每個文件系統入口,添加 noatime 關鍵字。

  OS4: noatime file attribute
  TPC Results
  Load Time (Seconds) 5.58
  Transactions / Second 13.884

  另外一個調整 Linux I/O 的辦法是虛擬內存子系統的調整,修改 /ect/sysctl.cong 文件,增加下面一行:

  vm.bdflush = 100 1200 128 512 15 5000 500 1884 2

  根據 /usr/src/Linux/Documentation/sysctl/vm.txt 的說法:

  第一個參數100 %:控制緩沖區中最大的髒緩沖數據,增加這個值意味著 Linux 可以延遲磁盤寫。
  第二個參數 1200 ndirty:給出 bdflush 一次能夠寫入磁盤的最大髒緩沖。
  第三個參數 128 nrefill:當調用 refill_freelist() 時,bdflush 添加到自由緩沖區中的最大緩沖數目。

  refill_freelist() 512:當這個數目超過 nref_dirt 髒緩沖時,將喚醒 bdflush。

  第五個 15 和最後兩個參數 1884 和 2,系統未使用,我們不做修改。

  age_buffer 50*HZ, age_super 參數 5*HZ:控制 Linux 把髒緩沖寫到磁盤的最多等待時間。數值用時鐘滴答數(jiffies)表示,每秒為 100 個 jiffies 。

  OS5: bdflush settings TPC Results
  Load Time (Seconds) 4.43
  Transactions / Second 14.988

  經過以上一系列調整後,我們得到的最終加載時間減少了 1015.35%,TPS 增加了 45.61%。


<

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