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%。





版权声明: 原创作品,容许转载,转载时请务必以超链接情势标明文章 原始来由 、作者信息和本声明。否则将究查法律责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1975892.html