熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

提高Linux上小型數據庫的速度

2013-11-13 15:42:46  來源: Oracle 

  介紹
  Okay 什麼是RAMDISK?我們如何用它來提高數據庫server的響應速度?
  
  Ramdisk就是說用作於硬盤空間的內存無論什麼時候你使用Ramdisk實際上你是在使用內存而不是硬盤在這一點上既有優點又有缺點最基本的最大的優點是你是在使用內存你所做的一切都會快一些因為硬盤的速度較內存慢最大的缺點是如果你改變了數據庫服務器的內容並且重新啟動機器時所做的一切改動都將丟失
  
  對於數據庫Server PostgreSQL來說 如果你將所有的數據庫調入內存將會大大提高它的速度
  
  建立一個ramdisk /Test
  將默認ramdisk中的一個指向目錄/Test
  
  mkdir p /Test
  mkfs t ext /dev/ram
  mount /dev/ram /Test
  
  如果這一步失敗的話也許是因為你所編譯的內核不支持ramdisk你應該將內和配置選項中的CONFIG_BLK_DEV_RAM 一向置為可用的狀態
  
  
  以上的步驟只能給你提供一個M大小的ramdiskThe above gives you a ramdisk with available space of just under Mb 請參看 Ramdisk Article 一文看看如何將其改變成M大小
  
  為 PostgreSQL 建立一個ramdisk
  理論上你應該優良兩個數據庫server一個是你可以進行修改的另一個是在ramdisk上的拷貝實現這一點你應該用到pg_dump 或是 pg_dumpall命令
  
  注意: 我們假定你已經在文件中進行過設置是你的ramdisk大於你的數據庫的大小如果你想得到它的近似的大小可以用命令cd /var/lib/pgsql; du
  
  無論怎樣使你的postgresql安裝在 /var/lib/pgsql 並且將他們放到內存中這樣做
  
  ### Stop the current postgresql server
  /etc/rcd/initd/postgres stop
  ### rename the current directory
  mv /var/lib/pgsql /var/lib/pgsql_main
  #### Create a directory to have our ramdisk on
  mkdir p /var/lib/pgsql_memory
  #### change the ownership of the new directory to postgres or whatever
  #### the actual owner is
  chown postgres /var/lib/pgsql_memory
  #### Make an alias or link to the original name /var/lib/pgsql
  ln s /var/lib/pgsql_memory /var/lib/pgsql
  
  #### Format the ramdisk
  mkfs t ext /dev/ram
  #### Mount the ramdisk to the postgresql directory
  mount /dev/ram /var/lib/pgsql_memory
  
  #### Copy everything from the main directory into the ramdisk
  tar C /var/lib/pgsql_main cp | tar C /var/lib/pgsql_memory xp
  ### Start the current postgresql server
  /etc/rcd/initd/postgres start
  
  關於速度Comments on the speed
  我已經把postgresql分別在ramdisk上和不在ramdisk上進行過速度方面性能的測試有些時候在ramdisk上的postgresql的速度將會快出%當然有些時候不是這樣的
  
  我注意到當系統對數據設置緩沖時系統性能的提高並不很大只有大約%到%當有大量新的數據被同時輸入數據庫時系統的性能有著顯著的提高
  
  在使用ramdisk中最大的好處就是你可以強制你的數據庫留在內存中而避免使用硬盤如果你不使用ramdisk你的數據庫將可能被換出內存當它被使用時再被從硬盤上調入內存
  
  注釋
  對於linux操作系統當一個文件被讀取時它將被保存在內存中直到內存空間被其他程序要求使用這樣便是緩存也許這是一個解決之道如果不是這樣當我的機器有訪問的時候會聽見硬盤的聲音利用ramdisk時數據庫放在內存中而不會被到處內存如果經常用數據庫server的話要是我就把它放在內存中
  在數據庫上使用ramdisk的好處就是可以得到高速度簡單而明快對於那些只讀的數據庫來說這可是一個非常棒的主意
  它的不足就是你必須知道如何管理並且在你進行修改時最好確信你已經做了修改的備份
  

From:http://tw.wingwit.com/Article/program/Oracle/201311/17176.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.