介紹
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大小的ramdisk
The 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/rc
d/init
d/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/rc
d/init
d/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