?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

www9778con:教你提高Linux上小型數據庫的速度

?

先容

Okay, 什么是RAMDISK?我們若何用它來前進數據庫server的相應速率?

Ramdisk便是說用作于硬盤空間的內存。www9778con無論什么時刻你應用Ramdisk,實際上你是在應用內存而不是硬盤。在這一點上既有優點又有毛病。最基礎的,最大年夜的優點是你是在應用內存,你所做的統統都邑快一些,由于硬盤的速率較內存慢。最大年夜的毛病是假如你改變了數據庫辦事器的內容并且從新啟念頭器時,所做的統統篡改都將損掉。

對付數據www9778con庫Server PostgreSQL來說, 假如你將所有的數據庫調入內存將會大年夜大年夜前進它的速率。

建立一個ramdisk /Test

將默認ramdisk中的一個指向目錄/Test?! kdir -p /Test

mkfs -t ext2 /dev/ram0

mount /dev/ram0 /Test

假如這一步掉敗的話,大概是由于你所編譯的內www9778con核不支持ramdisk。你應該將內和設置設置設備擺設擺設選項中的CONFIG_BLK_DEV_RAM 一貫置為可用的狀態。

以上的步驟只能給你供給一個4M大年夜小的ramdisk。The above gives you a ramdisk with available space of just under 4Mb. 請參看 Ramdisk Article 一文,看看若何將其轉變成50M大年夜小。

為 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

#### www9778conCreate 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 thewww9778con speed

我已經把postgresql分手在ramdisk上和不在ramdisk長進行過速率方面機能的測試。有些時刻,在ramdisk上的postgresql的速率將會快出50%。當然有些時刻不是這樣的。

我留意到,當系統對數據設置緩沖時,系統機能的前進并不很大年夜只有大年夜約10%到20%。當有大年夜量新的數據被同時輸入數據庫時,系統的機能有著顯明的前進。

在應用ramdisk中最大年夜的好處便是你可以強制你的數據庫留在內存中而避免應用硬盤。假如你不應用ramdisk,你的數據庫將可能被換出內存。當它被應用時再被從硬盤上調入內存。

注釋

對付linux操作系統,當一個文件被讀取時,它將被保存在內存中直到內存空間被其他法度榜樣要求應用。這樣就是緩存。大概這是一個辦理之道。假如不是這樣,當我的機械有造訪的時刻,會聽見硬盤的聲音。使用ramdisk時數據庫放在內存中而不會被到處內存。假如常常用數據庫server的話,如果我就把它放在內存中。

在數據庫上應用ramdisk的好處便是可以獲得高速率,簡單而明快。對付那些只讀的數據庫來說,這可是一個異常棒的主見。

它的不夠便是你必須知道若何治理,并且在你進行改動時,最好確信你已經做了改動的備份。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

快三平台开户