


提高Linux上小型數(shù)據(jù)庫的速度
添加時間:2011-5-4
添加:
admin
摘要:
這篇文章將展示如何用RAMDISK來提高PostgreSQL數(shù)據(jù)庫的訪問速度.
介紹
Okay, 什么是RAMDISK?我們如何用它來提高數(shù)據(jù)庫server的響應速度?
Ramdisk就是說用作于硬盤空間的內存。無論什么時候你使用Ramdisk,實際上你是在使
用內存而不是硬盤。在這一點上既有優(yōu)點又有缺點。最基本的,最大的優(yōu)點是你是在使
用內存,你所做的一切都會快一些,因為硬盤的速度較內存慢。最大的缺點是如果你改
變了數(shù)據(jù)庫服務器的內容并且重新啟動機器時,所做的一切改動都將丟失。
對于數(shù)據(jù)庫Server PostgreSQL來說, 如果你將所有的數(shù)據(jù)庫調入內存將會大大提高它
的速度。
建立一個ramdisk /Test
將默認ramdisk中的一個指向目錄/Test。
mkdir -p /Test
mkfs -t ext2 /dev/ram0
mount /dev/ram0 /Test
如果這一步失敗的話,也許是因為你所編譯的內核不支持ramdisk。你應該將內和配置
選項中的CONFIG_BLK_DEV_RAM 一向置為可用的狀態(tài)。
以上的步驟只能給你提供一個4M大小的ramdisk。The above gives you a ramdisk wi
th available space of just under 4Mb. 請參看 Ramdisk Article 一文,看看如何
將其改變成50M大小。
為 PostgreSQL 建立一個ramdisk
理論上你應該優(yōu)良兩個數(shù)據(jù)庫server。一個是你可以進行修改的,另一個是在ramdisk
上的拷貝。實現(xiàn)這一點你應該用到"pg_dump" 或是 "pg_dumpall"命令。
注意: 我們假定你已經在文件中進行過設置是你的ramdisk大于你的數(shù)據(jù)庫的大小。如
果你想得到它的近似的大小可以用命令"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 ext2 /dev/ram0
#### Mount the ramdisk to the postgresql directory
mount /dev/ram0 /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的速度將會快出50%。當然有些時候不是這樣的。
我注意到,當系統(tǒng)對數(shù)據(jù)設置緩沖時,系統(tǒng)性能的提高并不很大只有大約10%到20%。當
有大量新的數(shù)據(jù)被同時輸入數(shù)據(jù)庫時,系統(tǒng)的性能有著顯著的提高。
在使用ramdisk中最大的好處就是你可以強制你的數(shù)據(jù)庫留在內存中而避免使用硬盤。
如果你不使用ramdisk,你的數(shù)據(jù)庫將可能被換出內存。當它被使用時再被從硬盤上調
入內存。
注釋
1. 對于linux操作系統(tǒng),當一個文件被讀取時,它將被保存在內存中直到內存空間被其
他程序要求使用。這樣便是緩存。也許這是一個解決之道。如果不是這樣,當我的機器
有訪問的時候,會聽見硬盤的聲音。利用ramdisk時數(shù)據(jù)庫放在內存中而不會被到處內
存。如果經常用數(shù)據(jù)庫server的話,要是我就把它放在內存中。
2. 在數(shù)據(jù)庫上使用ramdisk的好處就是可以得到高速度,簡單而明快。對于那些只讀的
數(shù)據(jù)庫來說,這可是一個非常棒的主意。
3. 它的不足就是你必須知道如何管理,并且在你進行修改時,最好確信你已經做了修
改的備份。
關鍵字:數(shù)據(jù)庫、服務器
這篇文章將展示如何用RAMDISK來提高PostgreSQL數(shù)據(jù)庫的訪問速度.
介紹
Okay, 什么是RAMDISK?我們如何用它來提高數(shù)據(jù)庫server的響應速度?
Ramdisk就是說用作于硬盤空間的內存。無論什么時候你使用Ramdisk,實際上你是在使
用內存而不是硬盤。在這一點上既有優(yōu)點又有缺點。最基本的,最大的優(yōu)點是你是在使
用內存,你所做的一切都會快一些,因為硬盤的速度較內存慢。最大的缺點是如果你改
變了數(shù)據(jù)庫服務器的內容并且重新啟動機器時,所做的一切改動都將丟失。
對于數(shù)據(jù)庫Server PostgreSQL來說, 如果你將所有的數(shù)據(jù)庫調入內存將會大大提高它
的速度。
建立一個ramdisk /Test
將默認ramdisk中的一個指向目錄/Test。
mkdir -p /Test
mkfs -t ext2 /dev/ram0
mount /dev/ram0 /Test
如果這一步失敗的話,也許是因為你所編譯的內核不支持ramdisk。你應該將內和配置
選項中的CONFIG_BLK_DEV_RAM 一向置為可用的狀態(tài)。
以上的步驟只能給你提供一個4M大小的ramdisk。The above gives you a ramdisk wi
th available space of just under 4Mb. 請參看 Ramdisk Article 一文,看看如何
將其改變成50M大小。
為 PostgreSQL 建立一個ramdisk
理論上你應該優(yōu)良兩個數(shù)據(jù)庫server。一個是你可以進行修改的,另一個是在ramdisk
上的拷貝。實現(xiàn)這一點你應該用到"pg_dump" 或是 "pg_dumpall"命令。
注意: 我們假定你已經在文件中進行過設置是你的ramdisk大于你的數(shù)據(jù)庫的大小。如
果你想得到它的近似的大小可以用命令"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 ext2 /dev/ram0
#### Mount the ramdisk to the postgresql directory
mount /dev/ram0 /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的速度將會快出50%。當然有些時候不是這樣的。
我注意到,當系統(tǒng)對數(shù)據(jù)設置緩沖時,系統(tǒng)性能的提高并不很大只有大約10%到20%。當
有大量新的數(shù)據(jù)被同時輸入數(shù)據(jù)庫時,系統(tǒng)的性能有著顯著的提高。
在使用ramdisk中最大的好處就是你可以強制你的數(shù)據(jù)庫留在內存中而避免使用硬盤。
如果你不使用ramdisk,你的數(shù)據(jù)庫將可能被換出內存。當它被使用時再被從硬盤上調
入內存。
注釋
1. 對于linux操作系統(tǒng),當一個文件被讀取時,它將被保存在內存中直到內存空間被其
他程序要求使用。這樣便是緩存。也許這是一個解決之道。如果不是這樣,當我的機器
有訪問的時候,會聽見硬盤的聲音。利用ramdisk時數(shù)據(jù)庫放在內存中而不會被到處內
存。如果經常用數(shù)據(jù)庫server的話,要是我就把它放在內存中。
2. 在數(shù)據(jù)庫上使用ramdisk的好處就是可以得到高速度,簡單而明快。對于那些只讀的
數(shù)據(jù)庫來說,這可是一個非常棒的主意。
3. 它的不足就是你必須知道如何管理,并且在你進行修改時,最好確信你已經做了修
改的備份。
關鍵字:數(shù)據(jù)庫、服務器
新文章:
- CentOS7下圖形配置網(wǎng)絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認iptable規(guī)則詳解